diff options
| author | Bob Halley <halley@dnspython.org> | 2020-07-23 08:48:02 -0700 |
|---|---|---|
| committer | Bob Halley <halley@dnspython.org> | 2020-07-23 08:48:02 -0700 |
| commit | f49db956a89c4729df1ea92895c08c58749c1d29 (patch) | |
| tree | fe48e55c45d9571b099e2299a50b5a393376d68f /tests | |
| parent | dc590c792b612a75df05b6215e70dbe3a635a8ea (diff) | |
| download | dnspython-f49db956a89c4729df1ea92895c08c58749c1d29.tar.gz | |
more tokenizer coverage
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_tokenizer.py | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/tests/test_tokenizer.py b/tests/test_tokenizer.py index ff189dd..306212f 100644 --- a/tests/test_tokenizer.py +++ b/tests/test_tokenizer.py @@ -205,31 +205,32 @@ class TokenizerTestCase(unittest.TestCase): tok = dns.tokenizer.Tokenizer('1234') v = tok.get_int() self.assertEqual(v, 1234) - def bad1(): + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('"1234"') - v = tok.get_int() - self.assertRaises(dns.exception.SyntaxError, bad1) - def bad2(): + tok.get_int() + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('q1234') - v = tok.get_int() - self.assertRaises(dns.exception.SyntaxError, bad2) - def bad3(): + tok.get_int() + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('4294967296') - v = tok.get_uint32() - self.assertRaises(dns.exception.SyntaxError, bad3) - def bad4(): + tok.get_uint32() + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('65536') - v = tok.get_uint16() - self.assertRaises(dns.exception.SyntaxError, bad4) - def bad5(): + tok.get_uint16() + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('256') - v = tok.get_uint8() - self.assertRaises(dns.exception.SyntaxError, bad5) + tok.get_uint8() # Even though it is badly named get_int(), it's really get_unit! - def bad6(): + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('-1234') - v = tok.get_int() - self.assertRaises(dns.exception.SyntaxError, bad5) + tok.get_int() + # get_uint16 can do other bases too, and has a custom error + # for base 8. + tok = dns.tokenizer.Tokenizer('177777') + self.assertEqual(tok.get_uint16(base=8), 65535) + with self.assertRaises(dns.exception.SyntaxError): + tok = dns.tokenizer.Tokenizer('200000') + tok.get_uint16(base=8) def testGetString(self): tok = dns.tokenizer.Tokenizer('foo') @@ -241,10 +242,12 @@ class TokenizerTestCase(unittest.TestCase): tok = dns.tokenizer.Tokenizer('abcdefghij') v = tok.get_string(max_length=10) self.assertEqual(v, 'abcdefghij') - def bad(): + with self.assertRaises(dns.exception.SyntaxError): tok = dns.tokenizer.Tokenizer('abcdefghij') - v = tok.get_string(max_length=9) - self.assertRaises(dns.exception.SyntaxError, bad) + tok.get_string(max_length=9) + tok = dns.tokenizer.Tokenizer('') + with self.assertRaises(dns.exception.SyntaxError): + tok.get_string() def testMultiLineWithComment(self): tok = dns.tokenizer.Tokenizer('( ; abc\n)') |
