Index: tools/json_schema_compiler/cpp_type_generator_test.py |
diff --git a/tools/json_schema_compiler/cpp_type_generator_test.py b/tools/json_schema_compiler/cpp_type_generator_test.py |
index a9408fa73002e51be17bfebf38c8730f64d4ec18..17b501e7d8ba7d86db39de4bad3366e629db71d1 100755 |
--- a/tools/json_schema_compiler/cpp_type_generator_test.py |
+++ b/tools/json_schema_compiler/cpp_type_generator_test.py |
@@ -13,52 +13,61 @@ class CppTypeGeneratorTest(unittest.TestCase): |
self.model = model.Model() |
self.forbidden_json = CachedLoad('test/forbidden.json') |
self.model.AddNamespace(self.forbidden_json[0], |
- 'path/to/forbidden.json') |
+ 'path/to/forbidden.json') |
self.forbidden = self.model.namespaces.get('forbidden') |
self.permissions_json = CachedLoad('test/permissions.json') |
self.model.AddNamespace(self.permissions_json[0], |
- 'path/to/permissions.json') |
+ 'path/to/permissions.json') |
self.permissions = self.model.namespaces.get('permissions') |
self.windows_json = CachedLoad('test/windows.json') |
self.model.AddNamespace(self.windows_json[0], |
- 'path/to/window.json') |
+ 'path/to/window.json') |
self.windows = self.model.namespaces.get('windows') |
self.tabs_json = CachedLoad('test/tabs.json') |
self.model.AddNamespace(self.tabs_json[0], |
- 'path/to/tabs.json') |
+ 'path/to/tabs.json') |
self.tabs = self.model.namespaces.get('tabs') |
self.browser_action_json = CachedLoad('test/browser_action.json') |
self.model.AddNamespace(self.browser_action_json[0], |
- 'path/to/browser_action.json') |
+ 'path/to/browser_action.json') |
self.browser_action = self.model.namespaces.get('browserAction') |
self.font_settings_json = CachedLoad('test/font_settings.json') |
self.model.AddNamespace(self.font_settings_json[0], |
- 'path/to/font_settings.json') |
+ 'path/to/font_settings.json') |
self.font_settings = self.model.namespaces.get('fontSettings') |
self.dependency_tester_json = CachedLoad('test/dependency_tester.json') |
self.model.AddNamespace(self.dependency_tester_json[0], |
- 'path/to/dependency_tester.json') |
+ 'path/to/dependency_tester.json') |
self.dependency_tester = self.model.namespaces.get('dependencyTester') |
+ self.content_settings_json = CachedLoad('test/content_settings.json') |
+ self.model.AddNamespace(self.content_settings_json[0], |
+ 'path/to/content_settings.json') |
+ self.content_settings = self.model.namespaces.get('contentSettings') |
def testGenerateIncludesAndForwardDeclarations(self): |
manager = CppTypeGenerator('', self.windows, self.windows.unix_name) |
manager.AddNamespace(self.tabs, self.tabs.unix_name) |
- self.assertEquals('#include "path/to/tabs.h"', |
- manager.GenerateIncludes().Render()) |
- self.assertEquals( |
- 'namespace tabs {\n' |
- 'struct Tab;\n' |
- '}\n' |
- 'namespace windows {\n' |
- 'struct Window;\n' |
- '} // windows', |
- manager.GenerateForwardDeclarations().Render()) |
+ self.assertEquals('#include "path/to/tabs.h"\n' |
+ '#include "base/json/json_writer.h"', |
+ manager.GenerateIncludes().Render()) |
+ self.assertEquals('namespace tabs {\n' |
+ 'struct Tab;\n' |
+ '}\n' |
+ 'namespace windows {\n' |
+ 'struct Window;\n' |
+ '} // windows', |
+ manager.GenerateForwardDeclarations().Render()) |
manager = CppTypeGenerator('', self.permissions, self.permissions.unix_name) |
- self.assertEquals('', manager.GenerateIncludes().Render()) |
+ self.assertEquals('#include "base/json/json_writer.h"', |
+ manager.GenerateIncludes().Render()) |
self.assertEquals('namespace permissions {\n' |
'struct Permissions;\n' |
'} // permissions', |
manager.GenerateForwardDeclarations().Render()) |
+ manager = CppTypeGenerator('', self.content_settings, |
+ self.content_settings.unix_name) |
+ self.assertEquals('', manager.GenerateIncludes().Render()) |
+ |
def testGenerateIncludesAndForwardDeclarationsMultipleTypes(self): |
m = model.Model() |
@@ -68,108 +77,109 @@ class CppTypeGeneratorTest(unittest.TestCase): |
# Insert 'windows' before 'tabs' in order to test that they are sorted |
# properly. |
windows = m.AddNamespace(self.windows_json[0], |
- 'path/to/windows.json') |
+ 'path/to/windows.json') |
tabs_namespace = m.AddNamespace(self.tabs_json[0], |
- 'path/to/tabs.json') |
+ 'path/to/tabs.json') |
manager = CppTypeGenerator('', windows, self.windows.unix_name) |
manager.AddNamespace(tabs_namespace, self.tabs.unix_name) |
- self.assertEquals('#include "path/to/tabs.h"', |
- manager.GenerateIncludes().Render()) |
- self.assertEquals( |
- 'namespace tabs {\n' |
- 'struct Permissions;\n' |
- 'struct Tab;\n' |
- '}\n' |
- 'namespace windows {\n' |
- 'struct Window;\n' |
- '} // windows', |
- manager.GenerateForwardDeclarations().Render()) |
+ self.assertEquals('#include "path/to/tabs.h"\n' |
+ '#include "base/json/json_writer.h"', |
+ manager.GenerateIncludes().Render()) |
+ self.assertEquals('namespace tabs {\n' |
+ 'struct Permissions;\n' |
+ 'struct Tab;\n' |
+ '}\n' |
+ 'namespace windows {\n' |
+ 'struct Window;\n' |
+ '} // windows', |
+ manager.GenerateForwardDeclarations().Render()) |
def testGenerateIncludesAndForwardDeclarationsDependencies(self): |
m = model.Model() |
# Insert 'font_settings' before 'browser_action' in order to test that |
# CppTypeGenerator sorts them properly. |
font_settings_namespace = m.AddNamespace(self.font_settings_json[0], |
- 'path/to/font_settings.json') |
+ 'path/to/font_settings.json') |
browser_action_namespace = m.AddNamespace(self.browser_action_json[0], |
- 'path/to/browser_action.json') |
+ 'path/to/browser_action.json') |
manager = CppTypeGenerator('', self.dependency_tester, |
- self.dependency_tester.unix_name) |
+ self.dependency_tester.unix_name) |
manager.AddNamespace(font_settings_namespace, |
- self.font_settings.unix_name) |
+ self.font_settings.unix_name) |
manager.AddNamespace(browser_action_namespace, |
- self.browser_action.unix_name) |
+ self.browser_action.unix_name) |
self.assertEquals('#include "path/to/browser_action.h"\n' |
'#include "path/to/font_settings.h"', |
manager.GenerateIncludes().Render()) |
- self.assertEquals( |
- 'namespace browserAction {\n' |
- 'typedef std::vector<int> ColorArray;\n' |
- '}\n' |
- 'namespace fontSettings {\n' |
- 'typedef std::string ScriptCode;\n' |
- '}\n' |
- 'namespace dependency_tester {\n' |
- '} // dependency_tester', |
- manager.GenerateForwardDeclarations().Render()) |
+ self.assertEquals('namespace browserAction {\n' |
+ 'typedef std::vector<int> ColorArray;\n' |
+ '}\n' |
+ 'namespace fontSettings {\n' |
+ 'typedef std::string ScriptCode;\n' |
+ '}\n' |
+ 'namespace dependency_tester {\n' |
+ '} // dependency_tester', |
+ manager.GenerateForwardDeclarations().Render()) |
def testChoicesEnum(self): |
manager = CppTypeGenerator('', self.tabs, self.tabs.unix_name) |
prop = self.tabs.functions['move'].params[0] |
self.assertEquals('TAB_IDS_ARRAY', |
- manager.GetEnumValue(prop, model.PropertyType.ARRAY.name)) |
- self.assertEquals('TAB_IDS_INTEGER', |
+ manager.GetEnumValue(prop, model.PropertyType.ARRAY.name)) |
+ self.assertEquals( |
+ 'TAB_IDS_INTEGER', |
manager.GetEnumValue(prop, model.PropertyType.INTEGER.name)) |
self.assertEquals('TabIdsType', |
- manager.GetChoicesEnumType(prop)) |
+ manager.GetChoicesEnumType(prop)) |
def testGetTypeSimple(self): |
manager = CppTypeGenerator('', self.tabs, self.tabs.unix_name) |
- self.assertEquals('int', |
- manager.GetType( |
- self.tabs.types['tabs.Tab'].properties['id'])) |
- self.assertEquals('std::string', |
- manager.GetType( |
- self.tabs.types['tabs.Tab'].properties['status'])) |
- self.assertEquals('bool', |
- manager.GetType( |
- self.tabs.types['tabs.Tab'].properties['selected'])) |
+ self.assertEquals( |
+ 'int', |
+ manager.GetType(self.tabs.types['tabs.Tab'].properties['id'])) |
+ self.assertEquals( |
+ 'std::string', |
+ manager.GetType(self.tabs.types['tabs.Tab'].properties['status'])) |
+ self.assertEquals( |
+ 'bool', |
+ manager.GetType(self.tabs.types['tabs.Tab'].properties['selected'])) |
def testStringAsType(self): |
manager = CppTypeGenerator('', self.font_settings, |
self.font_settings.unix_name) |
- self.assertEquals('std::string', |
- manager.GetType( |
- self.font_settings.types['fontSettings.ScriptCode'])) |
+ self.assertEquals( |
+ 'std::string', |
+ manager.GetType(self.font_settings.types['fontSettings.ScriptCode'])) |
def testArrayAsType(self): |
manager = CppTypeGenerator('', self.browser_action, |
self.browser_action.unix_name) |
- self.assertEquals('std::vector<int>', |
- manager.GetType( |
- self.browser_action.types['browserAction.ColorArray'])) |
+ self.assertEquals( |
+ 'std::vector<int>', |
+ manager.GetType(self.browser_action.types['browserAction.ColorArray'])) |
def testGetTypeArray(self): |
manager = CppTypeGenerator('', self.windows, self.windows.unix_name) |
- self.assertEquals('std::vector<linked_ptr<Window> >', |
- manager.GetType( |
- self.windows.functions['getAll'].callback.params[0])) |
+ self.assertEquals( |
+ 'std::vector<linked_ptr<Window> >', |
+ manager.GetType(self.windows.functions['getAll'].callback.params[0])) |
manager = CppTypeGenerator('', self.permissions, self.permissions.unix_name) |
self.assertEquals('std::vector<std::string>', manager.GetType( |
self.permissions.types['permissions.Permissions'].properties['origins'])) |
def testGetTypeLocalRef(self): |
manager = CppTypeGenerator('', self.tabs, self.tabs.unix_name) |
- self.assertEquals('Tab', |
- manager.GetType( |
- self.tabs.functions['get'].callback.params[0])) |
+ self.assertEquals( |
+ 'Tab', |
+ manager.GetType(self.tabs.functions['get'].callback.params[0])) |
def testGetTypeIncludedRef(self): |
manager = CppTypeGenerator('', self.windows, self.windows.unix_name) |
manager.AddNamespace(self.tabs, self.tabs.unix_name) |
- self.assertEquals('std::vector<linked_ptr<tabs::Tab> >', |
+ self.assertEquals( |
+ 'std::vector<linked_ptr<tabs::Tab> >', |
manager.GetType( |
- self.windows.types['windows.Window'].properties['tabs'])) |
+ self.windows.types['windows.Window'].properties['tabs'])) |
def testGetTypeNotfound(self): |
prop = self.windows.types['windows.Window'].properties['tabs'].item_type |
@@ -191,32 +201,29 @@ class CppTypeGeneratorTest(unittest.TestCase): |
pad_for_generics=True)) |
self.assertEquals('bool', |
manager.GetType( |
- self.permissions.functions['contains'].callback.params[0], |
+ self.permissions.functions['contains'].callback.params[0], |
pad_for_generics=True)) |
def testNamespaceDeclaration(self): |
manager = CppTypeGenerator('extensions', self.permissions, |
self.permissions.unix_name) |
- self.assertEquals( |
- 'namespace extensions {', |
- manager.GetRootNamespaceStart().Render()) |
+ self.assertEquals('namespace extensions {', |
+ manager.GetRootNamespaceStart().Render()) |
manager = CppTypeGenerator('extensions::gen::api', self.permissions, |
self.permissions.unix_name) |
self.assertEquals('namespace permissions {', |
- manager.GetNamespaceStart().Render()) |
+ manager.GetNamespaceStart().Render()) |
self.assertEquals('} // permissions', |
- manager.GetNamespaceEnd().Render()) |
- self.assertEquals( |
- 'namespace extensions {\n' |
- 'namespace gen {\n' |
- 'namespace api {', |
- manager.GetRootNamespaceStart().Render()) |
- self.assertEquals( |
- '} // api\n' |
- '} // gen\n' |
- '} // extensions', |
- manager.GetRootNamespaceEnd().Render()) |
+ manager.GetNamespaceEnd().Render()) |
+ self.assertEquals('namespace extensions {\n' |
+ 'namespace gen {\n' |
+ 'namespace api {', |
+ manager.GetRootNamespaceStart().Render()) |
+ self.assertEquals('} // api\n' |
+ '} // gen\n' |
+ '} // extensions', |
+ manager.GetRootNamespaceEnd().Render()) |
def testExpandParams(self): |
manager = CppTypeGenerator('extensions', self.tabs, |