OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 | 6 |
| 7 import collections |
| 8 import random |
7 import sys | 9 import sys |
8 import unittest | 10 import unittest |
9 import make_dafsa | 11 import make_dafsa |
10 | 12 |
11 | 13 |
12 class ParseGperfTest(unittest.TestCase): | 14 class ParseGperfTest(unittest.TestCase): |
13 def testMalformedKey(self): | 15 def testMalformedKey(self): |
14 """Tests exception is thrown at bad format.""" | 16 """Tests exception is thrown at bad format.""" |
15 infile1 = [ '%%', '', '%%' ] | 17 infile1 = [ '%%', '', '%%' ] |
16 self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile1) | 18 self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile1) |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 def testSingleNode(self): | 131 def testSingleNode(self): |
130 """Tests a single node is expanded to a list with the label string.""" | 132 """Tests a single node is expanded to a list with the label string.""" |
131 | 133 |
132 # 'ab' -> [ 'ab' ] | 134 # 'ab' -> [ 'ab' ] |
133 | 135 |
134 node1 = ( 'ab', [ None ] ) | 136 node1 = ( 'ab', [ None ] ) |
135 words = [ 'ab' ] | 137 words = [ 'ab' ] |
136 self.assertEqual(make_dafsa.to_words(node1), words) | 138 self.assertEqual(make_dafsa.to_words(node1), words) |
137 | 139 |
138 def testChain(self): | 140 def testChain(self): |
139 """Tests a sequence of nodes are preoperly expanded.""" | 141 """Tests a sequence of nodes are properly expanded.""" |
140 | 142 |
141 # 'ab' -> 'cd' => [ 'abcd' ] | 143 # 'ab' -> 'cd' => [ 'abcd' ] |
142 | 144 |
143 node2 = ( 'cd', [ None ] ) | 145 node2 = ( 'cd', [ None ] ) |
144 node1 = ( 'ab', [ node2 ] ) | 146 node1 = ( 'ab', [ node2 ] ) |
145 words = [ 'abcd' ] | 147 words = [ 'abcd' ] |
146 self.assertEqual(make_dafsa.to_words(node1), words) | 148 self.assertEqual(make_dafsa.to_words(node1), words) |
147 | 149 |
148 def testInnerTerminator(self): | 150 def testInnerTerminator(self): |
149 """Tests a sequence with an inner terminator is expanded to two strings.""" | 151 """Tests a sequence with an inner terminator is expanded to two strings.""" |
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
750 infile = [ '%%', 'aa, 1', 'bbb, 2', 'baa, 1', '%%' ] | 752 infile = [ '%%', 'aa, 1', 'bbb, 2', 'baa, 1', '%%' ] |
751 bytes = [ 0x02, 0x83, 0xE2, 0x02, 0x83, 0x61, 0x61, 0x81, 0x62, 0x62, | 753 bytes = [ 0x02, 0x83, 0xE2, 0x02, 0x83, 0x61, 0x61, 0x81, 0x62, 0x62, |
752 0x82 ] | 754 0x82 ] |
753 outfile = make_dafsa.to_cxx(bytes) | 755 outfile = make_dafsa.to_cxx(bytes) |
754 self.assertEqual(make_dafsa.words_to_cxx(make_dafsa.parse_gperf(infile)), | 756 self.assertEqual(make_dafsa.words_to_cxx(make_dafsa.parse_gperf(infile)), |
755 outfile) | 757 outfile) |
756 | 758 |
757 | 759 |
758 if __name__ == '__main__': | 760 if __name__ == '__main__': |
759 unittest.main() | 761 unittest.main() |
OLD | NEW |