Index: tools/webbt/compact_blacklist_unittest.py |
diff --git a/tools/webbt/compact_blacklist_unittest.py b/tools/webbt/compact_blacklist_unittest.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..6fade678249678129563aa314e98009673dc9726 |
--- /dev/null |
+++ b/tools/webbt/compact_blacklist_unittest.py |
@@ -0,0 +1,69 @@ |
+#!/usr/bin/env python |
+# Copyright (c) 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 unittest |
+import compact_blacklist as cb |
+ |
+ |
+class CompactBlacklistTest(unittest.TestCase): |
+ def test_valid_uuid(self): |
+ self.assertTrue( cb.valid_uuid('00000000-0000-0000-0000-000000000000')) |
+ self.assertTrue( cb.valid_uuid('01234567-89ab-cdef-0123-456789abcdef')) |
+ self.assertTrue( cb.valid_uuid('00001812-0000-1000-8000-00805f9b34fb')) |
+ self.assertFalse(cb.valid_uuid('g1234567-89ab-cdef-0123-456789abcdef')) |
+ self.assertFalse(cb.valid_uuid('01234567-89ab-cdef-0123-456789abcdef0')) |
+ self.assertFalse(cb.valid_uuid('0123456789abcdef0123456789abcdef')) |
+ self.assertFalse(cb.valid_uuid('01234567089ab0cdef001230456789abcdef')) |
+ |
+ def test_shorten_uuid(self): |
+ self.assertEqual(cb.shorten_uuid( |
+ '00000000-0000-0000-0000-000000000000'), |
+ '00000000-0000-0000-0000-000000000000') |
+ self.assertEqual(cb.shorten_uuid( |
+ '01234567-89ab-cdef-0123-456789abcdef'), |
+ '01234567-89ab-cdef-0123-456789abcdef') |
+ self.assertEqual(cb.shorten_uuid( |
+ '00001812-0000-1000-8000-00805f9b34fb'), |
+ '1812') |
+ self.assertEqual(cb.shorten_uuid( |
+ 'g1234567-89ab-cdef-0123-456789abcdef'), |
+ 'g1234567-89ab-cdef-0123-456789abcdef') |
+ self.assertEqual(cb.shorten_uuid( |
+ '01234567-89ab-cdef-0123-456789abcdef0'), |
+ '01234567-89ab-cdef-0123-456789abcdef0') |
+ self.assertEqual(cb.shorten_uuid( |
+ '0123456789abcdef0123456789abcdef'), |
+ '0123456789abcdef0123456789abcdef') |
+ self.assertEqual(cb.shorten_uuid( |
+ '01234567089ab0cdef001230456789abcdef'), |
+ '01234567089ab0cdef001230456789abcdef') |
+ |
+ def test_process(self): |
+ try: |
+ cb.process('# comment') |
+ cb.process('') |
+ 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') |
+ self.assertRaises(cb.InvalidExclusionException, cb.process, |
+ '00001812-0000-1000-8000-00805f9b34fb exclude-write') |
+ self.assertRaises(cb.InvalidExclusionException, cb.process, |
+ '00001812-0000-1000-8000-00805f9b34fb exclude') |
+ |
+ try: |
+ cb.process('00001812-0000-1000-8000-00805f9b34fa exclude-writes') |
+ cb.process('00001812-0000-1000-8000-00805f9b34fb exclude-reads') |
+ cb.process('00001812-0000-1000-8000-00805f9b34fc') |
+ except Exception: |
+ self.fail('Failed test for valid lines.') |
+ |
+ self.assertRaises(cb.DuplicateUUIDException, cb.process, |
+ '00001812-0000-1000-8000-00805f9b34fa exclude-writes') |
+ |
+ |
+if __name__ == '__main__': |
+ unittest.main() |