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 """Tests for enum_preprocess.py. | 6 """Tests for enum_preprocess.py. |
7 | 7 |
8 This test suite containss various tests for the C++ -> Java enum generator. | 8 This test suite containss various tests for the C++ -> Java enum generator. |
9 """ | 9 """ |
10 | 10 |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 // GENERATED_JAVA_ENUM_PACKAGE: test.namespace | 218 // GENERATED_JAVA_ENUM_PACKAGE: test.namespace |
219 enum class Foo: foo_type { | 219 enum class Foo: foo_type { |
220 FOO_A, | 220 FOO_A, |
221 }; | 221 }; |
222 """.split('\n') | 222 """.split('\n') |
223 with self.assertRaises(Exception): | 223 with self.assertRaises(Exception): |
224 HeaderParser(test_data).ParseDefinitions() | 224 HeaderParser(test_data).ParseDefinitions() |
225 | 225 |
226 def testParseSimpleMultiLineDirective(self): | 226 def testParseSimpleMultiLineDirective(self): |
227 test_data = """ | 227 test_data = """ |
228 // GENERATED_JAVA_ENUM_PACKAGE: \\ | 228 // GENERATED_JAVA_ENUM_PACKAGE: ( |
229 // test.namespace | 229 // test.namespace) |
230 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: Bar | 230 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: Bar |
231 enum Foo { | 231 enum Foo { |
232 FOO_A, | 232 FOO_A, |
233 }; | 233 }; |
234 """.split('\n') | 234 """.split('\n') |
235 definitions = HeaderParser(test_data).ParseDefinitions() | 235 definitions = HeaderParser(test_data).ParseDefinitions() |
236 self.assertEqual('test.namespace', definitions[0].enum_package) | 236 self.assertEqual('test.namespace', definitions[0].enum_package) |
237 self.assertEqual('Bar', definitions[0].class_name) | 237 self.assertEqual('Bar', definitions[0].class_name) |
238 | 238 |
239 def testParseMultiLineDirective(self): | 239 def testParseMultiLineDirective(self): |
240 test_data = """ | 240 test_data = """ |
241 // GENERATED_JAVA_ENUM_PACKAGE: te\\ | 241 // GENERATED_JAVA_ENUM_PACKAGE: (te |
242 // st.name\\ | 242 // st.name |
243 // space | 243 // space) |
244 enum Foo { | 244 enum Foo { |
245 FOO_A, | 245 FOO_A, |
246 }; | 246 }; |
247 """.split('\n') | 247 """.split('\n') |
248 definitions = HeaderParser(test_data).ParseDefinitions() | 248 definitions = HeaderParser(test_data).ParseDefinitions() |
249 self.assertEqual('test.namespace', definitions[0].enum_package) | 249 self.assertEqual('test.namespace', definitions[0].enum_package) |
250 | 250 |
251 def testParseMultiLineDirectiveWithOtherDirective(self): | 251 def testParseMultiLineDirectiveWithOtherDirective(self): |
252 test_data = """ | 252 test_data = """ |
253 // GENERATED_JAVA_ENUM_PACKAGE: \\ | 253 // GENERATED_JAVA_ENUM_PACKAGE: ( |
254 // test.namespace | 254 // test.namespace) |
255 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: \\ | 255 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: ( |
256 // Ba\\ | 256 // Ba |
257 // r | 257 // r |
| 258 // ) |
258 enum Foo { | 259 enum Foo { |
259 FOO_A, | 260 FOO_A, |
260 }; | 261 }; |
261 """.split('\n') | 262 """.split('\n') |
262 definitions = HeaderParser(test_data).ParseDefinitions() | 263 definitions = HeaderParser(test_data).ParseDefinitions() |
263 self.assertEqual('test.namespace', definitions[0].enum_package) | 264 self.assertEqual('test.namespace', definitions[0].enum_package) |
264 self.assertEqual('Bar', definitions[0].class_name) | 265 self.assertEqual('Bar', definitions[0].class_name) |
265 | 266 |
266 def testParseMalformedMultiLineDirectiveWithOtherDirective(self): | 267 def testParseMalformedMultiLineDirectiveWithOtherDirective(self): |
267 test_data = """ | 268 test_data = """ |
268 // GENERATED_JAVA_ENUM_PACKAGE: \\ | 269 // GENERATED_JAVA_ENUM_PACKAGE: ( |
269 // test.name\\ | 270 // test.name |
270 // space\\ | 271 // space |
271 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: Bar | 272 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: Bar |
272 enum Foo { | 273 enum Foo { |
273 FOO_A, | 274 FOO_A, |
274 }; | 275 }; |
275 """.split('\n') | 276 """.split('\n') |
276 with self.assertRaises(Exception): | 277 with self.assertRaises(Exception): |
277 HeaderParser(test_data).ParseDefinitions() | 278 HeaderParser(test_data).ParseDefinitions() |
278 | 279 |
279 def testParseMalformedMultiLineDirective(self): | 280 def testParseMalformedMultiLineDirective(self): |
280 test_data = """ | 281 test_data = """ |
281 // GENERATED_JAVA_ENUM_PACKAGE: \\ | 282 // GENERATED_JAVA_ENUM_PACKAGE: ( |
282 // test.name\\ | 283 // test.name |
283 // space\\ | 284 // space |
284 enum Foo { | 285 enum Foo { |
285 FOO_A, | 286 FOO_A, |
286 }; | 287 }; |
287 """.split('\n') | 288 """.split('\n') |
288 with self.assertRaises(Exception): | 289 with self.assertRaises(Exception): |
289 HeaderParser(test_data).ParseDefinitions() | 290 HeaderParser(test_data).ParseDefinitions() |
290 | 291 |
291 def testParseMalformedMultiLineDirectiveShort(self): | 292 def testParseMalformedMultiLineDirectiveShort(self): |
292 test_data = """ | 293 test_data = """ |
293 // GENERATED_JAVA_ENUM_PACKAGE: \\ | 294 // GENERATED_JAVA_ENUM_PACKAGE: ( |
294 enum Foo { | 295 enum Foo { |
295 FOO_A, | 296 FOO_A, |
296 }; | 297 }; |
297 """.split('\n') | 298 """.split('\n') |
298 with self.assertRaises(Exception): | 299 with self.assertRaises(Exception): |
299 HeaderParser(test_data).ParseDefinitions() | 300 HeaderParser(test_data).ParseDefinitions() |
300 | 301 |
301 def testEnumValueAssignmentNoneDefined(self): | 302 def testEnumValueAssignmentNoneDefined(self): |
302 definition = EnumDefinition(original_enum_name='c', enum_package='p') | 303 definition = EnumDefinition(original_enum_name='c', enum_package='p') |
303 definition.AppendEntry('A', None) | 304 definition.AppendEntry('A', None) |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 options, _ = parser.parse_args(argv) | 409 options, _ = parser.parse_args(argv) |
409 | 410 |
410 suite = unittest.TestLoader().loadTestsFromTestCase(TestPreprocess) | 411 suite = unittest.TestLoader().loadTestsFromTestCase(TestPreprocess) |
411 unittest.TextTestRunner(verbosity=0).run(suite) | 412 unittest.TextTestRunner(verbosity=0).run(suite) |
412 | 413 |
413 if options.stamp: | 414 if options.stamp: |
414 build_utils.Touch(options.stamp) | 415 build_utils.Touch(options.stamp) |
415 | 416 |
416 if __name__ == '__main__': | 417 if __name__ == '__main__': |
417 main(sys.argv[1:]) | 418 main(sys.argv[1:]) |
OLD | NEW |