| Index: third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py
|
| diff --git a/third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py b/third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py
|
| index 3c370ad4162b0a7d1ae0f165d8ed25cd4d2b8ef8..4efa031202bf9dd034124211f325e56f694e7984 100644
|
| --- a/third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py
|
| +++ b/third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py
|
| @@ -9,8 +9,8 @@
|
| import unittest
|
|
|
| from code_generator_web_module import InterfaceContextBuilder
|
| -from code_generator_web_module import TypeResolver
|
| from code_generator_web_module import STRING_INCLUDE_PATH
|
| +from code_generator_web_module import TypeResolver
|
| from idl_definitions import IdlAttribute
|
| from idl_definitions import IdlOperation
|
| from idl_types import IdlType
|
| @@ -39,26 +39,31 @@ class IdlTestingHelper(object):
|
| def make_stub_idl_type(self, base_type):
|
| return IdlType(base_type)
|
|
|
| + def make_stub_interfaces_info(self, classes_to_paths):
|
| + result = {}
|
| + for class_name, path in classes_to_paths.iteritems():
|
| + result[class_name] = {'include_path': path}
|
| + return result
|
|
|
| class TypeResolverTest(unittest.TestCase):
|
|
|
| def test_includes_from_type_should_filter_primitive_types(self):
|
| - type_resolver = TypeResolver()
|
| helper = IdlTestingHelper()
|
| + type_resolver = TypeResolver({})
|
| for primitive_type in PRIMITIVE_TYPES:
|
| idl_type = helper.make_stub_idl_type(primitive_type)
|
| self.assertEqual(
|
| type_resolver._includes_from_type(idl_type), set())
|
|
|
| def test_includes_from_type_should_filter_void(self):
|
| - type_resolver = TypeResolver()
|
| + type_resolver = TypeResolver({})
|
| helper = IdlTestingHelper()
|
| idl_type = helper.make_stub_idl_type('void')
|
| self.assertEqual(
|
| type_resolver._includes_from_type(idl_type), set())
|
|
|
| def test_includes_from_type_should_handle_string(self):
|
| - type_resolver = TypeResolver()
|
| + type_resolver = TypeResolver({})
|
| helper = IdlTestingHelper()
|
| for string_type in STRING_TYPES:
|
| idl_type = helper.make_stub_idl_type(string_type)
|
| @@ -70,16 +75,21 @@ class TypeResolverTest(unittest.TestCase):
|
| class InterfaceContextBuilderTest(unittest.TestCase):
|
|
|
| def test_empty(self):
|
| - builder = InterfaceContextBuilder('test', TypeResolver())
|
| + builder = InterfaceContextBuilder('test', TypeResolver({}))
|
|
|
| self.assertEqual({'code_generator': 'test'}, builder.build())
|
|
|
| def test_set_name(self):
|
| - builder = InterfaceContextBuilder('test', TypeResolver())
|
| + helper = IdlTestingHelper()
|
| + builder = InterfaceContextBuilder(
|
| + 'test', TypeResolver(helper.make_stub_interfaces_info({
|
| + 'foo': 'path_to_foo',
|
| + })))
|
|
|
| builder.set_class_name('foo')
|
| self.assertEqual({
|
| 'code_generator': 'test',
|
| + 'cpp_includes': set(['path_to_foo']),
|
| 'class_name': {
|
| 'snake_case': 'foo',
|
| 'macro_case': 'FOO',
|
| @@ -88,39 +98,54 @@ class InterfaceContextBuilderTest(unittest.TestCase):
|
| }, builder.build())
|
|
|
| def test_set_inheritance(self):
|
| - builder = InterfaceContextBuilder('test', TypeResolver())
|
| + helper = IdlTestingHelper()
|
| + builder = InterfaceContextBuilder(
|
| + 'test', TypeResolver(helper.make_stub_interfaces_info({
|
| + 'foo': 'path_to_foo',
|
| + })))
|
| builder.set_inheritance('foo')
|
| self.assertEqual({
|
| + 'base_class': 'foo',
|
| 'code_generator': 'test',
|
| - 'inherits_expression': ' : public foo',
|
| - 'cpp_includes': set(['foo']),
|
| + 'header_includes': set(['path_to_foo']),
|
| }, builder.build())
|
|
|
| - builder = InterfaceContextBuilder('test', TypeResolver())
|
| + builder = InterfaceContextBuilder('test', TypeResolver({}))
|
| builder.set_inheritance(None)
|
| - self.assertEqual({'code_generator': 'test'}, builder.build())
|
| + self.assertEqual({
|
| + 'code_generator': 'test',
|
| + 'header_includes': set(['platform/heap/Handle.h']),
|
| + }, builder.build())
|
|
|
|
|
| def test_add_attribute(self):
|
| helper = IdlTestingHelper()
|
| - builder = InterfaceContextBuilder('test', TypeResolver())
|
| + builder = InterfaceContextBuilder(
|
| + 'test', TypeResolver(helper.make_stub_interfaces_info({
|
| + 'foo': 'path_to_foo',
|
| + 'bar': 'path_to_bar'
|
| + })))
|
|
|
| attribute = helper.make_stub_idl_attribute('foo', 'bar')
|
| builder.add_attribute(attribute)
|
| self.assertEqual({
|
| 'code_generator': 'test',
|
| - 'cpp_includes': set(['bar']),
|
| + 'cpp_includes': set(['path_to_bar']),
|
| 'attributes': [{'name': 'foo', 'return_type': 'bar'}],
|
| }, builder.build())
|
|
|
| def test_add_method(self):
|
| helper = IdlTestingHelper()
|
| - builder = InterfaceContextBuilder('test', TypeResolver())
|
| + builder = InterfaceContextBuilder(
|
| + 'test', TypeResolver(helper.make_stub_interfaces_info({
|
| + 'foo': 'path_to_foo',
|
| + 'bar': 'path_to_bar'
|
| + })))
|
|
|
| operation = helper.make_stub_idl_operation('foo', 'bar')
|
| builder.add_operation(operation)
|
| self.assertEqual({
|
| 'code_generator': 'test',
|
| - 'cpp_includes': set(['bar']),
|
| + 'cpp_includes': set(['path_to_bar']),
|
| 'methods': [{'name': 'foo', 'return_type': 'bar'}],
|
| }, builder.build())
|
|
|