Index: tools/web_bluetooth/compact_blacklist_unittest.py |
diff --git a/tools/web_bluetooth/compact_blacklist_unittest.py b/tools/web_bluetooth/compact_blacklist_unittest.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..7df1140942ef3b825b89fa54c65f52addd27637a |
--- /dev/null |
+++ b/tools/web_bluetooth/compact_blacklist_unittest.py |
@@ -0,0 +1,73 @@ |
+#!/usr/bin/env python |
+# Copyright 2016 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import collections |
+import compact_blacklist as cb |
+import unittest |
+ |
+ |
+class CompactBlacklistTest(unittest.TestCase): |
+ def TestValidUUID(self): |
+ self.assertTrue( cb.ValidUUID('00000000-0000-0000-0000-000000000000')) |
+ self.assertTrue( cb.ValidUUID('01234567-89ab-cdef-0123-456789abcdef')) |
+ self.assertTrue( cb.ValidUUID('00001812-0000-1000-8000-00805f9b34fb')) |
+ self.assertFalse(cb.ValidUUID('g1234567-89ab-cdef-0123-456789abcdef')) |
+ self.assertFalse(cb.ValidUUID('01234567-89ab-cdef-0123-456789abcdef0')) |
+ self.assertFalse(cb.ValidUUID('0123456789abcdef0123456789abcdef')) |
+ self.assertFalse(cb.ValidUUID('01234567089ab0cdef001230456789abcdef')) |
+ |
+ def TestShortenUUID(self): |
+ self.assertEqual(cb.ShortenUUID( |
+ '00000000-0000-0000-0000-000000000000'), |
+ '00000000-0000-0000-0000-000000000000') |
+ self.assertEqual(cb.ShortenUUID( |
+ '01234567-89ab-cdef-0123-456789abcdef'), |
+ '01234567-89ab-cdef-0123-456789abcdef') |
+ self.assertEqual(cb.ShortenUUID( |
+ '00001812-0000-1000-8000-00805f9b34fb'), |
+ '1812') |
+ self.assertEqual(cb.ShortenUUID( |
+ 'g1234567-89ab-cdef-0123-456789abcdef'), |
+ 'g1234567-89ab-cdef-0123-456789abcdef') |
+ self.assertEqual(cb.ShortenUUID( |
+ '01234567-89ab-cdef-0123-456789abcdef0'), |
+ '01234567-89ab-cdef-0123-456789abcdef0') |
+ self.assertEqual(cb.ShortenUUID( |
+ '0123456789abcdef0123456789abcdef'), |
+ '0123456789abcdef0123456789abcdef') |
+ self.assertEqual(cb.ShortenUUID( |
+ '01234567089ab0cdef001230456789abcdef'), |
+ '01234567089ab0cdef001230456789abcdef') |
+ |
+ def TestProcess(self): |
+ blacklist = collections.OrderedDict() |
+ try: |
+ cb.Process('# comment', blacklist) |
+ cb.Process('', blacklist) |
+ except Exception: |
+ self.fail('Failed test for comment or blank line.') |
+ |
+ self.assertRaises(cb.BadLineException, cb.Process, |
+ '00001812-0000-1000-8000-00805f9b34fb exclude-write exclude', blacklist) |
+ self.assertRaises(cb.InvalidExclusionException, cb.Process, |
+ '00001812-0000-1000-8000-00805f9b34fb exclude-write', blacklist) |
+ self.assertRaises(cb.InvalidExclusionException, cb.Process, |
+ '00001812-0000-1000-8000-00805f9b34fb exclude', blacklist) |
+ |
+ try: |
+ cb.Process('00001812-0000-1000-8000-00805f9b34fa exclude-writes', |
+ blacklist) |
+ cb.Process('00001812-0000-1000-8000-00805f9b34fb exclude-reads', |
+ blacklist) |
+ cb.Process('00001812-0000-1000-8000-00805f9b34fc', blacklist) |
+ except Exception: |
+ self.fail('Failed test for valid lines.') |
+ |
+ self.assertRaises(cb.DuplicateUUIDException, cb.Process, |
+ '00001812-0000-1000-8000-00805f9b34fa exclude-writes', blacklist) |
+ |
+ |
+if __name__ == '__main__': |
+ unittest.main() |