Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py

Issue 2688933003: [Web Agents API]: Start fleshing out generated code. (Closed)
Patch Set: Rebased. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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())

Powered by Google App Engine
This is Rietveld 408576698