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 }