def testCompare(self): """ Tests that modules are compared by index first and then by module name if no index is set. Note: the module's index is set on loading the file modules/hardcore/opera/modules.txt. That defines the initialization order of the modules. """ # first: compare by name module1 = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='bar') module2 = opera_module.Module(self.__source_root, self.__source_root, type='aaa', name='foo') self.assertTrue(module1 == module1) self.assertFalse(module1 == module2) self.assertFalse(module1 < module1) self.assertTrue(module1 <= module2) self.assertTrue(module1 < module2) # compare by index: a module with index set is lower than a # module without index module2.setIndex(17) self.assertTrue(module1 >= module2) self.assertTrue(module1 > module2) # compare by index: two modules with index set are compared by # the index value module1.setIndex(562) self.assertTrue(module1 >= module2) self.assertTrue(module1 > module2)
def testBasic(self): """ Tests that some basic methods of an opera_module.Module instance return the expected values. """ module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='bar', version='baz_1_0') self.assertEqual(module.type(), 'foo') self.assertEqual(module.name(), 'bar') self.assertEqual(module.version(), 'baz_1_0') self.assertEqual(module.relativePath(), os.path.join('foo', 'bar')) self.assertEqual(module.fullPath(), os.path.join(self.__source_root, 'foo', 'bar')) self.assertEqual(module.getModuleFilePath(), 'foo/bar/bar_module.h') self.assertEqual(module.getModuleClassName(), 'BarModule') self.assertEqual( module.getTweaksFile(), os.path.join(self.__source_root, 'foo', 'bar', 'module.tweaks')) self.assertEqual( module.getAPIExportFile(), os.path.join(self.__source_root, 'foo', 'bar', 'module.export')) self.assertEqual( module.getAPIImportFile(), os.path.join(self.__source_root, 'foo', 'bar', 'module.import')) self.assertEqual( module.getActionsFile(), os.path.join(self.__source_root, 'foo', 'bar', 'module.actions')) self.assertEqual( module.getSourcesFile(), os.path.join(self.__source_root, 'foo', 'bar', 'module.sources'))
def testNoModuleSources(self): module = opera_module.Module(self.__tmpdir, self.__tmpdir, type='test', name='foo') self.assertFalse(module.hasModuleFile()) self.assertFalse(module.hasSourcesFile()) self.assertRaises(IOError, module.getModuleSources)
def testIdName(self): """ Tests that opera_module.Module.id_name() returns the expected name for several different module names. """ module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='bar') self.assertEqual(module.id_name(), 'bar') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='BAR') self.assertEqual(module.id_name(), 'BAR') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='bar/baz-1.0') self.assertEqual(module.id_name(), 'bar_baz_1_0')
def testLoadEmptyFile(self): """ Write an empty module.sources file and test that loading it does not create any file entries. """ self.writeModuleSources("") module = opera_module.Module(self.__tmpdir, self.__tmpdir, type='test', name='foo') self.assertTrue(module.hasSourcesFile()) self.assertTrue(module.getModuleSources()) self.assertEqual(module.files(), [])
def testLoadSimpleFile(self): """ Write a simple module.sources file and test loading it. """ output = StringIO.StringIO() print >> output, "src/foo.cpp" print >> output, "src/bar.cpp" self.writeModuleSources(output.getvalue()) module = opera_module.Module(self.__tmpdir, self.__tmpdir, type='test', name='foo') self.assertTrue(module.hasSourcesFile()) self.assertTrue(module.getModuleSources()) self.assertEqual(module.files(), ['src/foo.cpp', 'src/bar.cpp'])
def testModuleClassName(self): """ Tests that opera_module.Module.getModuleClassName() returns the expected class name for several different module names. """ module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='bar') self.assertEqual(module.getModuleClassName(), 'BarModule') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='BAR', version='baz_1_1') self.assertEqual(module.getModuleClassName(), 'BarModule') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='bar/baz-1.0', version='baz_1_0') self.assertEqual(module.getModuleClassName(), 'BarBaz10Module') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='foo_bar') self.assertEqual(module.getModuleClassName(), 'FooBarModule') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='foo_bar_baz') self.assertEqual(module.getModuleClassName(), 'FooBarBazModule') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='ecmascript') self.assertEqual(module.getModuleClassName(), 'EcmaScriptModule') module = opera_module.Module(self.__source_root, self.__source_root, type='foo', name='foo_1_2_3___bar___7baz') self.assertEqual(module.getModuleClassName(), 'Foo123Bar7bazModule')