| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import imp | 5 import imp |
| 6 import os.path | 6 import os.path |
| 7 import sys | 7 import sys |
| 8 import unittest | 8 import unittest |
| 9 | 9 |
| 10 # Disable lint check for finding modules: | 10 # Disable lint check for finding modules: |
| (...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 942 source3 = """\ | 942 source3 = """\ |
| 943 import "somedir/my1.mojom" | 943 import "somedir/my1.mojom" |
| 944 import "somedir/my2.mojom" | 944 import "somedir/my2.mojom" |
| 945 module my_module {} | 945 module my_module {} |
| 946 """ | 946 """ |
| 947 expected3 = ast.Mojom( | 947 expected3 = ast.Mojom( |
| 948 ast.Module(('IDENTIFIER', 'my_module'), None), | 948 ast.Module(('IDENTIFIER', 'my_module'), None), |
| 949 ast.ImportList([ast.Import("somedir/my1.mojom"), | 949 ast.ImportList([ast.Import("somedir/my1.mojom"), |
| 950 ast.Import("somedir/my2.mojom")]), | 950 ast.Import("somedir/my2.mojom")]), |
| 951 []) | 951 []) |
| 952 self.assertEquals(parser.Parse(source3, "my_file.mojom"), expected3) |
| 952 | 953 |
| 953 def testInvalidImports(self): | 954 def testInvalidImports(self): |
| 954 """Tests that invalid import statements are correctly detected.""" | 955 """Tests that invalid import statements are correctly detected.""" |
| 955 | 956 |
| 956 source1 = """\ | 957 source1 = """\ |
| 957 // Make the error occur on line 2. | 958 // Make the error occur on line 2. |
| 958 import invalid | 959 import invalid |
| 959 """ | 960 """ |
| 960 with self.assertRaisesRegexp( | 961 with self.assertRaisesRegexp( |
| 961 parser.ParseError, | 962 parser.ParseError, |
| 962 r"^my_file\.mojom:2: Error: Unexpected 'invalid':\n" | 963 r"^my_file\.mojom:2: Error: Unexpected 'invalid':\n" |
| 963 r" *import invalid$"): | 964 r" *import invalid$"): |
| 964 parser.Parse(source1, "my_file.mojom") | 965 parser.Parse(source1, "my_file.mojom") |
| 965 | 966 |
| 966 source2 = """\ | 967 source2 = """\ |
| 967 import // Missing string. | 968 import // Missing string. |
| 968 module {} | 969 module {} |
| 969 """ | 970 """ |
| 970 with self.assertRaisesRegexp( | 971 with self.assertRaisesRegexp( |
| 971 parser.ParseError, | 972 parser.ParseError, |
| 972 r"^my_file\.mojom:2: Error: Unexpected 'module':\n" | 973 r"^my_file\.mojom:2: Error: Unexpected 'module':\n" |
| 973 r" *module {}$"): | 974 r" *module {}$"): |
| 974 parser.Parse(source2, "my_file.mojom") | 975 parser.Parse(source2, "my_file.mojom") |
| 975 | 976 |
| 976 | 977 |
| 977 if __name__ == "__main__": | 978 if __name__ == "__main__": |
| 978 unittest.main() | 979 unittest.main() |
| OLD | NEW |