github.com/Ptt-official-app/go-bbs@v0.12.0/formosabbs/file_test.go (about)

     1  package bbs
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestParseFormosaBBSFileHeader(t *testing.T) {
     8  
     9  	headers, err := OpenFormosaBBSFileHeaderFile("testcase/file/01.DIR")
    10  	if err != nil {
    11  		t.Error(err)
    12  	}
    13  
    14  	expected := []FileHeader{
    15  		{
    16  			Filename: "M.1444066232.A",
    17  			Owner:    "programchen",
    18  			Date:     "",
    19  			Title:    "program",
    20  			Postno:   3362,
    21  		},
    22  		{
    23  			Filename: "M.1456585692.A",
    24  			Owner:    "download",
    25  			Date:     "",
    26  			Title:    "中山大學學生套房出租",
    27  			Postno:   3363,
    28  		},
    29  		{
    30  			Filename: "M.1469020580.A",
    31  			Owner:    "programchen",
    32  			Date:     "",
    33  			Title:    "are you busy ",
    34  			Postno:   3364,
    35  		},
    36  		{
    37  			Filename: "M.1476541525.A",
    38  			Owner:    "programchen",
    39  			Date:     "",
    40  			Title:    "test",
    41  			Postno:   3365,
    42  		},
    43  		{
    44  			Filename: "M.1483330205.A",
    45  			Owner:    "programchen",
    46  			Date:     "",
    47  			Title:    "TEST new",
    48  			Postno:   3366,
    49  		},
    50  		{
    51  			Filename: "M.1484320784.A",
    52  			Owner:    "programchen",
    53  			Date:     "",
    54  			Title:    "rainy ",
    55  			Postno:   3367,
    56  		},
    57  		{
    58  			Filename: "M.1486650586.A",
    59  			Owner:    "programchen",
    60  			Date:     "",
    61  			Title:    "cold night",
    62  			Postno:   3368,
    63  		},
    64  		{
    65  			Filename: "M.1489418653.A",
    66  			Owner:    "programchen",
    67  			Date:     "",
    68  			Title:    "good ngiht",
    69  			Postno:   3369,
    70  		},
    71  		{
    72  			Filename: "M.1499780490.A",
    73  			Owner:    "programchen",
    74  			Date:     "",
    75  			Title:    "good day",
    76  			Postno:   3370,
    77  		},
    78  		{
    79  			Filename: "M.1502982246.A",
    80  			Owner:    "frugal",
    81  			Date:     "",
    82  			Title:    "test",
    83  			Postno:   3371,
    84  		},
    85  		{
    86  			Filename: "M.1504100036.A",
    87  			Owner:    "programchen",
    88  			Date:     "",
    89  			Title:    "2133",
    90  			Postno:   3372,
    91  		},
    92  		{
    93  			Filename: "M.1509734390.A",
    94  			Owner:    "programchen",
    95  			Date:     "",
    96  			Title:    "0239",
    97  			Postno:   3373,
    98  		},
    99  		{
   100  			Filename: "M.1522244563.A",
   101  			Owner:    "programchen",
   102  			Date:     "",
   103  			Title:    "online",
   104  			Postno:   3374,
   105  		},
   106  		{
   107  			Filename: "M.1584333992.A",
   108  			Owner:    "salman",
   109  			Date:     "",
   110  			Title:    "  許留",
   111  			Postno:   3376,
   112  		},
   113  		{
   114  			Filename: "M.1596381800.A",
   115  			Owner:    "pichubaby",
   116  			Date:     "",
   117  			Title:    "Test",
   118  			Postno:   3377,
   119  		},
   120  	}
   121  
   122  	for index, header := range headers {
   123  		if header.Filename != expected[index].Filename {
   124  			t.Logf("lena :%d %d", len(header.Filename), len(expected[index].Filename))
   125  			t.Errorf("Filename not match in index %d, expected: %s, got: %s", index, expected[index].Filename, header.Filename)
   126  		}
   127  
   128  		if header.Postno != expected[index].Postno {
   129  			t.Errorf("Postno not match in index %d, expected: %d, got: %d", index, expected[index].Postno, header.Postno)
   130  		}
   131  		if header.Recommend != expected[index].Recommend {
   132  			t.Errorf("Recommend not match in index %d, expected: %q, got: %q", index, expected[index].Recommend, header.Recommend)
   133  		}
   134  		if header.Owner != expected[index].Owner {
   135  			t.Errorf("Owner not match in index %d, expected: %s, got: %s", index, expected[index].Owner, header.Owner)
   136  		}
   137  		if header.Date != expected[index].Date {
   138  			t.Logf("Date :%d %d", len(header.Date), len(expected[index].Date))
   139  			t.Errorf("Date not match in index %d, expected: %q, got: %q", index, expected[index].Date, header.Date)
   140  		}
   141  		if header.Title != expected[index].Title {
   142  			t.Errorf("Title not match in index %d, expected: %q, got: %q", index, expected[index].Title, header.Title)
   143  		}
   144  		if header.Money != expected[index].Money {
   145  			t.Errorf("Money not match in index %d, expected: %q, got: %q", index, expected[index].Money, header.Money)
   146  		}
   147  		if header.AnnoUID != expected[index].AnnoUID {
   148  			t.Errorf("AnnoUID not match in index %d, expected: %q, got: %q", index, expected[index].AnnoUID, header.AnnoUID)
   149  		}
   150  		if header.ReferRef != expected[index].ReferRef {
   151  			t.Errorf("ReferRef not match in index %d, expected: %q, got: %q", index, expected[index].ReferRef, header.ReferRef)
   152  		}
   153  		if header.Filemode != expected[index].Filemode {
   154  			t.Errorf("Filemode not match in index %d, expected: %q, got: %q", index, expected[index].Filemode, header.Filemode)
   155  		}
   156  
   157  	}
   158  
   159  }