def test_varargs_type(self): test_data = GIR_TEMPLATE % TEST_GREETER_GREET_MANY gir_root = etree.fromstring(test_data) param = gir_root.find( './/%s/%s/%s' % (core_ns('method'), core_ns('parameters'), core_ns('parameter'))) self.assertTupleEqual(unnest_type(param), ('...', 'valist', 0))
def assertRetvalTypesEqual(self, symbol_string, ctype_name, gi_name, array_nesting): test_data = GIR_TEMPLATE % symbol_string gir_root = etree.fromstring(test_data) retval = gir_root.find('.//%s/%s' % (core_ns('method'), core_ns('return-value'))) self.assertTupleEqual(unnest_type(retval), (ctype_name, gi_name, array_nesting))
def test_array_type(self): test_data = GIR_TEMPLATE % TEST_GREETER_LIST_GREETS gir_root = etree.fromstring(test_data) pythonlang = PYTHON_LANG.get_language_classes()[0]() javascriptlang = JAVASCRIPT_LANG.get_language_classes()[0]() CACHE_MODULE.cache_nodes(gir_root, [], {pythonlang, javascriptlang}) translated = pythonlang.get_translation('test_greeter_list_greets') self.assertEqual(translated, 'Test.list_greets') translated = javascriptlang.get_translation('test_greeter_list_greets') self.assertEqual(translated, 'Test.prototype.list_greets') retval = gir_root.find('.//%s/%s' % (core_ns('method'), core_ns('return-value'))) type_desc = CACHE_MODULE.type_description_from_node(retval) self.assertEqual(type_desc.gi_name, 'utf8') self.assertEqual(type_desc.c_name, 'gchar***') self.assertEqual(type_desc.nesting_depth, 2)
def test_array_type(self): test_data = GIR_TEMPLATE % TEST_GREETER_LIST_GREETS gir_root = etree.fromstring(test_data) CACHE_MODULE.cache_nodes(gir_root, []) translated = CACHE_MODULE.get_translation('test_greeter_list_greets', 'python') self.assertEqual(translated, 'Test.list_greets') translated = CACHE_MODULE.get_translation('test_greeter_list_greets', 'javascript') self.assertEqual(translated, 'Test.prototype.list_greets') retval = gir_root.find('.//%s/%s' % (core_ns('method'), core_ns('return-value'))) type_desc = CACHE_MODULE.type_description_from_node(retval) self.assertEqual(type_desc.gi_name, 'utf8') self.assertEqual(type_desc.c_name, 'gchar***') self.assertEqual(type_desc.nesting_depth, 2)