168 self.assertEqual(str(self.label_default_0), "{test:int=0}") |
168 self.assertEqual(str(self.label_default_0), "{test:int=0}") |
169 self.assertEqual(str(self.label_default_1), "{test:int=1}") |
169 self.assertEqual(str(self.label_default_1), "{test:int=1}") |
170 self.assertEqual(str(self.label_str), "{test}") |
170 self.assertEqual(str(self.label_str), "{test}") |
171 self.assertEqual(str(self.label_str_default), "{test=def}") |
171 self.assertEqual(str(self.label_str_default), "{test=def}") |
172 |
172 |
|
173 class TestStringType (unittest.TestCase) : |
|
174 def setUp (self) : |
|
175 self.type = urltree.URLStringType() |
|
176 |
|
177 def test_test (self) : |
|
178 self.assertTrue(self.type.test("")) |
|
179 self.assertTrue(self.type.test("xxx")) |
|
180 |
|
181 def test_parse (self) : |
|
182 self.assertEqual(self.type.parse(""), "") |
|
183 self.assertEqual(self.type.parse("xxx"), "xxx") |
|
184 |
|
185 def test_build (self) : |
|
186 self.assertEqual(self.type.build(""), "") |
|
187 self.assertEqual(self.type.build("xxx"), "xxx") |
|
188 self.assertEqual(self.type.build("äää"), "äää") |
|
189 |
|
190 class TestIntegerType (unittest.TestCase) : |
|
191 def setUp (self) : |
|
192 self.type = urltree.URLIntegerType() |
|
193 self.type_positive = urltree.URLIntegerType(allow_negative=False) |
|
194 self.type_nonzero = urltree.URLIntegerType(allow_zero=False) |
|
195 self.type_max_5 = urltree.URLIntegerType(max=5) |
|
196 |
|
197 def test_test (self) : |
|
198 self.assertTrue(self.type.test("1")) |
|
199 self.assertFalse(self.type.test("xx")) |
|
200 self.assertTrue(self.type_positive.test("1")) |
|
201 self.assertFalse(self.type_positive.test("-1")) |
|
202 self.assertTrue(self.type_nonzero.test("1")) |
|
203 self.assertFalse(self.type_nonzero.test("0")) |
|
204 self.assertTrue(self.type_max_5.test("5")) |
|
205 self.assertFalse(self.type_max_5.test("6")) |
|
206 |
|
207 def test_parse_invalid (self) : |
|
208 self.assertRaises(ValueError, self.type.parse, "xx") |
|
209 self.assertRaises(ValueError, self.type_nonzero.parse, "0") |
|
210 |
|
211 def test_parse_valid (self) : |
|
212 self.assertEqual(self.type.parse("0"), 0) |
|
213 self.assertEqual(self.type.parse("2"), 2) |
|
214 self.assertEqual(self.type_nonzero.parse("3"), 3) |
|
215 |
|
216 def test_append (self) : |
|
217 self.assertRaises(URLError, self.type.append, 0, 1) |
|
218 |
|
219 def test_build (self) : |
|
220 self.assertEqual(self.type.build(0), "0") |
|
221 self.assertEqual(self.type.build(5), "5") |
|
222 self.assertEqual(self.type_positive.build(1), "1") |
|
223 self.assertEqual(self.type_nonzero.build(1), "1") |
|
224 self.assertEqual(self.type_max_5.build(5), "5") |
|
225 |
|
226 def test_build_invalid (self) : |
|
227 self.assertRaises(ValueError, self.type_positive.build, -1) |
|
228 self.assertRaises(ValueError, self.type_nonzero.build, 0) |
|
229 self.assertRaises(ValueError, self.type_max_5.build, 5) |
|
230 |
|
231 def test_build_multi (self) : |
|
232 self.assertEqual(self.type.build(0), ["0"]) |
|
233 |
|
234 class TestListType (unittest.TestCase) : |
|
235 def setUp (self) : |
|
236 self.type = urltree.URLListType() |
|
237 |
|
238 def test_parse (self) : |
|
239 self.assertEqual(self.type.parse("x"), ["x"]) |
|
240 self.assertEqual(self.type.parse(""), [""]) |
|
241 |
|
242 def test_append (self) : |
|
243 self.assertEqual(self.type.append(["x"], ["y"]), ["x", "y"]) |
|
244 |
|
245 def test_build_multi (self) : |
|
246 self.assertEqual(self.type.build_multi(["x", "y"]), ["x", "y"]) |
|
247 |
|
248 class TestConfig (unittest.TestCase) : |
|
249 def test_init (self) : |
|
250 urltree.URLConfig(type_dict=dict(foo=None), ignore_extra_args=True) |
|
251 |
|
252 def test_get_type (self) : |
|
253 self.assertEquals(urltree.URLConfig(dict(foo='xxx')).get_type('foo'), 'xxx') |
|
254 |
|
255 def test_call (self) : |
|
256 config = urltree.URLConfig() |
|
257 url = config("foo", None) |
|
258 |
|
259 self.assertTrue(isinstance(url, urltree.URL)) |
|
260 self.assertTrue(url in config.urls) |
|
261 |
|
262 def test_iter (self) : |
|
263 config = urltree.URLConfig() |
|
264 url1 = config("foo1", None) |
|
265 url2 = config("foo2", None) |
|
266 |
|
267 urls = list(config) |
|
268 |
|
269 self.assertTrue(urls[0].url_mask == "foo1") |
|
270 self.assertTrue(urls[1].url_mask == "foo2") |
|
271 |