4 * Copyright (c) 2012 project bchan
6 * This software is provided 'as-is', without any express or implied
7 * warranty. In no event will the authors be held liable for any damages
8 * arising from the use of this software.
10 * Permission is granted to anyone to use this software for any purpose,
11 * including commercial applications, and to alter it and redistribute it
12 * freely, subject to the following restrictions:
14 * 1. The origin of this software must not be misrepresented; you must not
15 * claim that you wrote the original software. If you use this software
16 * in a product, an acknowledgment in the product documentation would be
17 * appreciated but is not required.
19 * 2. Altered source versions must be plainly marked as such, and must not be
20 * misrepresented as being the original software.
22 * 3. This notice may not be removed or altered from any source
29 #include "extbbslist.h"
31 #include <btron/btron.h>
37 #include <unittest_driver.h>
39 LOCAL TC test_extbbslist_testtitle001[] = {TK_A, TK_A, TK_A, TNULL};
40 LOCAL TC test_extbbslist_testtitle002[] = {TK_B, TK_B, TK_B, TNULL};
41 LOCAL TC test_extbbslist_testtitle003[] = {TK_C, TK_C, TK_C, TNULL};
42 LOCAL TC test_extbbslist_testtitle004[] = {TK_D, TK_D, TK_D, TNULL};
43 LOCAL UB test_extbbslist_testurl001[] = "http://aaa.bbb.ccc/abcdef/";
44 LOCAL UB test_extbbslist_testurl002[] = "http://ddd.eee.fff/abcdef/";
45 LOCAL UB test_extbbslist_testurl003[] = "http://aaa.bbb.ccc/ghijkl/";
46 LOCAL UB test_extbbslist_testurl004[] = "http://aaa.bbb.ccc/mnopqr/";
48 LOCAL UNITTEST_RESULT test_extbbslist_1()
51 extbbslist_readcontext_t *ctx;
52 UNITTEST_RESULT result = UNITTEST_RESULT_PASS;
55 W err, title_len, url_len;
58 list = extbbslist_new(NULL, 0, 0);
60 title = test_extbbslist_testtitle001;
61 title_len = tc_strlen(title);
62 url = test_extbbslist_testurl001;
63 url_len = strlen(url);
64 err = extbbslist_appenditem(list, title, title_len, url, url_len);
66 printf("extbbslist_appenditem 001\n");
67 result = UNITTEST_RESULT_FAIL;
69 title = test_extbbslist_testtitle002;
70 title_len = tc_strlen(title);
71 url = test_extbbslist_testurl002;
72 url_len = strlen(url);
73 err = extbbslist_appenditem(list, title, title_len, url, url_len);
75 printf("extbbslist_appenditem 002\n");
76 result = UNITTEST_RESULT_FAIL;
78 title = test_extbbslist_testtitle003;
79 title_len = tc_strlen(title);
80 url = test_extbbslist_testurl003;
81 url_len = strlen(url);
82 err = extbbslist_appenditem(list, title, title_len, url, url_len);
84 printf("extbbslist_appenditem 003\n");
85 result = UNITTEST_RESULT_FAIL;
87 title = test_extbbslist_testtitle004;
88 title_len = tc_strlen(title);
89 url = test_extbbslist_testurl004;
90 url_len = strlen(url);
91 err = extbbslist_appenditem(list, title, title_len, url, url_len);
93 printf("extbbslist_appenditem 004\n");
94 result = UNITTEST_RESULT_FAIL;
97 ctx = extbbslist_startread(list);
99 printf("extbbslist_startread\n");
100 extbbslist_delete(list);
101 return UNITTEST_RESULT_FAIL;
104 cont = extbbslist_readcontext_getnext(ctx, &title, &title_len, &url, &url_len);
106 printf("extbbslist_readcontext_getnext return value 001\n");
107 result = UNITTEST_RESULT_FAIL;
109 if (tc_strncmp(title, test_extbbslist_testtitle001, title_len) != 0) {
110 printf("extbbslist_readcontext_getnext title 001\n");
111 result = UNITTEST_RESULT_FAIL;
113 if (strncmp(url, test_extbbslist_testurl001, url_len) != 0) {
114 printf("extbbslist_readcontext_getnext url 001\n");
115 printf(" expected = %s\n", test_extbbslist_testurl001);
116 printf(" result = %s\n", url);
117 result = UNITTEST_RESULT_FAIL;
119 cont = extbbslist_readcontext_getnext(ctx, &title, &title_len, &url, &url_len);
121 printf("extbbslist_readcontext_getnext return value 002\n");
122 result = UNITTEST_RESULT_FAIL;
124 if (tc_strncmp(title, test_extbbslist_testtitle002, title_len) != 0) {
125 printf("extbbslist_readcontext_getnext title 002\n");
126 result = UNITTEST_RESULT_FAIL;
128 if (strncmp(url, test_extbbslist_testurl002, url_len) != 0) {
129 printf("extbbslist_readcontext_getnext url 002\n");
130 result = UNITTEST_RESULT_FAIL;
132 cont = extbbslist_readcontext_getnext(ctx, &title, &title_len, &url, &url_len);
134 printf("extbbslist_readcontext_getnext return value 003\n");
135 result = UNITTEST_RESULT_FAIL;
137 if (tc_strncmp(title, test_extbbslist_testtitle003, title_len) != 0) {
138 printf("extbbslist_readcontext_getnext title 003\n");
139 result = UNITTEST_RESULT_FAIL;
141 if (strncmp(url, test_extbbslist_testurl003, url_len) != 0) {
142 printf("extbbslist_readcontext_getnext url 003\n");
143 result = UNITTEST_RESULT_FAIL;
145 cont = extbbslist_readcontext_getnext(ctx, &title, &title_len, &url, &url_len);
147 printf("extbbslist_readcontext_getnext return value 004\n");
148 result = UNITTEST_RESULT_FAIL;
150 if (tc_strncmp(title, test_extbbslist_testtitle004, title_len) != 0) {
151 printf("extbbslist_readcontext_getnext title 004\n");
152 result = UNITTEST_RESULT_FAIL;
154 if (strncmp(url, test_extbbslist_testurl004, url_len) != 0) {
155 printf("extbbslist_readcontext_getnext url 004\n");
156 result = UNITTEST_RESULT_FAIL;
158 cont = extbbslist_readcontext_getnext(ctx, &title, &title_len, &url, &url_len);
160 printf("extbbslist_readcontext_getnext return value 005\n");
161 result = UNITTEST_RESULT_FAIL;
164 extbbslist_endread(list, ctx);
166 extbbslist_delete(list);
171 LOCAL UNITTEST_RESULT test_extbbslist_2()
174 UNITTEST_RESULT result = UNITTEST_RESULT_PASS;
177 W err, title_len, url_len, num;
179 list = extbbslist_new(NULL, 0, 0);
181 num = extbbslist_number(list);
183 printf("extbbslist_number 000\n");
184 result = UNITTEST_RESULT_FAIL;
187 title = test_extbbslist_testtitle001;
188 title_len = tc_strlen(title);
189 url = test_extbbslist_testurl001;
190 url_len = strlen(url);
191 err = extbbslist_appenditem(list, title, title_len, url, url_len);
193 printf("extbbslist_appenditem 001\n");
194 result = UNITTEST_RESULT_FAIL;
196 num = extbbslist_number(list);
198 printf("extbbslist_number 001\n");
199 result = UNITTEST_RESULT_FAIL;
202 title = test_extbbslist_testtitle002;
203 title_len = tc_strlen(title);
204 url = test_extbbslist_testurl002;
205 url_len = strlen(url);
206 err = extbbslist_appenditem(list, title, title_len, url, url_len);
208 printf("extbbslist_appenditem 002\n");
209 result = UNITTEST_RESULT_FAIL;
211 num = extbbslist_number(list);
213 printf("extbbslist_number 002\n");
214 result = UNITTEST_RESULT_FAIL;
217 title = test_extbbslist_testtitle003;
218 title_len = tc_strlen(title);
219 url = test_extbbslist_testurl003;
220 url_len = strlen(url);
221 err = extbbslist_appenditem(list, title, title_len, url, url_len);
223 printf("extbbslist_appenditem 003\n");
224 result = UNITTEST_RESULT_FAIL;
226 num = extbbslist_number(list);
228 printf("extbbslist_number 003\n");
229 result = UNITTEST_RESULT_FAIL;
232 title = test_extbbslist_testtitle004;
233 title_len = tc_strlen(title);
234 url = test_extbbslist_testurl004;
235 url_len = strlen(url);
236 err = extbbslist_appenditem(list, title, title_len, url, url_len);
238 printf("extbbslist_appenditem 004\n");
239 result = UNITTEST_RESULT_FAIL;
241 num = extbbslist_number(list);
243 printf("extbbslist_number 004\n");
244 result = UNITTEST_RESULT_FAIL;
247 title = test_extbbslist_testtitle002;
248 title_len = tc_strlen(title);
249 err = extbbslist_deleteitem(list, title, title_len);
251 printf("extbbslist_deleteitem 002\n");
252 result = UNITTEST_RESULT_FAIL;
254 num = extbbslist_number(list);
256 printf("extbbslist_number 002\n");
257 result = UNITTEST_RESULT_FAIL;
260 extbbslist_delete(list);
265 EXPORT VOID test_extbbslist_main(unittest_driver_t *driver)
267 UNITTEST_DRIVER_REGIST(driver, test_extbbslist_1);
268 UNITTEST_DRIVER_REGIST(driver, test_extbbslist_2);