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')
   browser_action_namespace = m.AddNamespace(self.browser_action_json[0],
                                             'path/to/browser_action.json')
   manager = CppTypeGenerator('', self.dependency_tester,
                              self.dependency_tester.unix_name)
   manager.AddNamespace(font_settings_namespace,
                        self.font_settings.unix_name)
   manager.AddNamespace(browser_action_namespace,
                        self.browser_action.unix_name)
   self.assertEquals('#include "path/to/browser_action.h"\n'
                     '#include "path/to/font_settings.h"\n'
                     '#include "base/string_number_conversions.h"',
                     manager.GenerateIncludes().Render())
   self.assertEquals('namespace browserAction {\n'
                     'typedef std::vector<int> ColorArray;\n'
                     '}\n'
                     'namespace fontSettings {\n'
                     'typedef std::string FakeStringType;\n'
                     '}\n'
                     'namespace dependency_tester {\n'
                     '}  // dependency_tester',
                     manager.GenerateForwardDeclarations().Render())
Beispiel #2
0
 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 testGenerateIncludesAndForwardDeclarationsMultipleTypes(self):
   m = model.Model()
   self.tabs_json[0]['types'].append(self.permissions_json[0]['types'][0])
   self.windows_json[0]['functions'].append(
       self.permissions_json[0]['functions'][1])
   # Insert 'windows' before 'tabs' in order to test that they are sorted
   # properly.
   windows = m.AddNamespace(self.windows_json[0],
                            'path/to/windows.json')
   tabs_namespace = m.AddNamespace(self.tabs_json[0],
                                   '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"\n'
                     '#include "base/string_number_conversions.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 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"\n'
                     '#include "base/string_number_conversions.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('#include "base/string_number_conversions.h"\n'
                     '#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('#include "base/string_number_conversions.h"',
                     manager.GenerateIncludes().Render())
 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> >',
       manager.GetType(
           self.windows.types['windows.Window'].properties['tabs']))
Beispiel #6
0
 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())
   manager = CppTypeGenerator('', self.permissions, self.permissions.unix_name)
   self.assertEquals('', manager.GenerateIncludes().Render())
   self.assertEquals('namespace permissions {\n'
                     'struct Permissions;\n'
                     '}  // permissions',
                     manager.GenerateForwardDeclarations().Render())
Beispiel #7
0
 def testGenerateIncludesAndForwardDeclarationsMultipleTypes(self):
     m = model.Model()
     self.tabs_json[0]['types'].append(self.permissions_json[0]['types'][0])
     tabs_namespace = m.AddNamespace(self.tabs_json[0], 'path/to/tabs.json')
     self.windows_json[0]['functions'].append(
         self.permissions_json[0]['functions'][1])
     windows = m.AddNamespace(self.windows_json[0], 'path/to/windows.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 Tab;\n'
         'struct Permissions;\n'
         '}\n'
         'namespace windows {\n'
         'struct Window;\n'
         '}  // windows',
         manager.GenerateForwardDeclarations().Render())