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

Unified Diff: tools/json_schema_compiler/cpp_type_generator_test.py

Issue 10206034: JSON schema compiler can't handle strings as types (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Small style change Created 8 years, 8 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
« no previous file with comments | « tools/json_schema_compiler/cpp_type_generator.py ('k') | tools/json_schema_compiler/h_generator.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4770fe3cdce78dd52d4ba5d505373f572fcd2600..708bd464cf16c90c3d108238bddc5105d73cef48 100755
--- a/tools/json_schema_compiler/cpp_type_generator_test.py
+++ b/tools/json_schema_compiler/cpp_type_generator_test.py
@@ -27,6 +27,14 @@ class CppTypeGeneratorTest(unittest.TestCase):
self.model.AddNamespace(self.browser_action_json[0],
'path/to/browserAction.json')
self.browser_action = self.model.namespaces.get('browserAction')
+ self.font_settings_json = CachedLoad('test/fontSettings.json')
+ self.model.AddNamespace(self.font_settings_json[0],
+ 'path/to/fontSettings.json')
+ self.font_settings = self.model.namespaces.get('fontSettings')
+ self.dependency_tester_json = CachedLoad('test/dependencyTester.json')
+ self.model.AddNamespace(self.dependency_tester_json[0],
+ 'path/to/dependencyTester.json')
+ self.dependency_tester = self.model.namespaces.get('dependencyTester')
def testGenerateIncludesAndForwardDeclarations(self):
manager = CppTypeGenerator('', self.windows, self.windows.unix_name)
@@ -71,6 +79,32 @@ class CppTypeGeneratorTest(unittest.TestCase):
'} // windows',
manager.GenerateForwardDeclarations().Render())
+ def testGenerateIncludesAndForwardDeclarationsDependencies(self):
+ m = model.Model()
+ browser_action_namespace = m.AddNamespace(self.browser_action_json[0],
+ 'path/to/browserAction.json')
+ font_settings_namespace = m.AddNamespace(self.font_settings_json[0],
+ 'path/to/fontSettings.json')
+ manager = CppTypeGenerator('', self.dependency_tester,
+ self.dependency_tester.unix_name)
+ manager.AddNamespace(browser_action_namespace,
+ self.browser_action.unix_name)
+ manager.AddNamespace(font_settings_namespace,
+ self.font_settings.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())
+
def testChoicesEnum(self):
manager = CppTypeGenerator('', self.tabs, self.tabs.unix_name)
prop = self.tabs.functions['move'].params[0]
@@ -93,6 +127,13 @@ class CppTypeGeneratorTest(unittest.TestCase):
manager.GetType(
self.tabs.types['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['ScriptCode']))
+
def testArrayAsType(self):
manager = CppTypeGenerator('', self.browser_action,
self.browser_action.unix_name)
« no previous file with comments | « tools/json_schema_compiler/cpp_type_generator.py ('k') | tools/json_schema_compiler/h_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698