OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/env python |
| 2 |
| 3 import unittest |
| 4 import collect_idls_into_json |
| 5 import utilities |
| 6 |
| 7 from blink_idl_parser import parse_file, BlinkIDLParser |
| 8 |
| 9 _FILE = 'Source/bindings/scripts/testdata/test_filepath.txt' |
| 10 _KEY_SET = set(['Operations', 'Name', 'FilePath', 'Inherit', 'Consts', 'ExtAttri
butes', 'Attributes']) |
| 11 _PARTIAL = {'Node': {'Operations': [], 'Name': 'Node', 'FilePath': 'Source/core/
timing/WorkerGlobalScopePerformance.idl', 'Inherit': [], 'Consts': [], 'ExtAttri
butes': [], 'Attributes': [{'Static': False, 'Readonly': True, 'Type': 'WorkerPe
rformance', 'Name': 'performance', 'ExtAttributes': []}]}} |
| 12 |
| 13 |
| 14 class TestFunctions(unittest.TestCase): |
| 15 def setUp(self): |
| 16 parser = BlinkIDLParser() |
| 17 path = utilities.read_file_to_list(_FILE)[0] |
| 18 definitions = parse_file(parser, path) |
| 19 self.definition = definitions.GetChildren()[0] |
| 20 |
| 21 def test_get_definitions(self): |
| 22 pathfile = utilities.read_file_to_list(_FILE) |
| 23 for actual in collect_idls_into_json.get_definitions(pathfile): |
| 24 self.assertEqual(actual.GetName(), self.definition.GetName()) |
| 25 |
| 26 def test_is_non_partial(self): |
| 27 if self.definition.GetClass() == 'Interface' and not self.definition.Get
Property('Partial'): |
| 28 self.assertTrue(collect_idls_into_json.is_non_partial(self.definitio
n)) |
| 29 else: |
| 30 self.assertFalse(collect_idls_into_json.is_non_partial(self.definiti
on)) |
| 31 |
| 32 def test_is_partial(self): |
| 33 if self.definition.GetClass() == 'Interface' and self.definition.GetProp
erty('Partial'): |
| 34 self.assertTrue(collect_idls_into_json.is_partial(self.definition)) |
| 35 else: |
| 36 self.assertFalse(collect_idls_into_json.is_partial(self.definition)) |
| 37 |
| 38 def test_get_filepaths(self): |
| 39 filepath = collect_idls_into_json.get_filepath(self.definition) |
| 40 self.assertTrue(filepath.startswith('Source')) |
| 41 self.assertTrue(filepath.endswith('.idl')) |
| 42 |
| 43 def test_const_node_to_dict(self): |
| 44 const_member = set(['Name', 'Type', 'Value', 'ExtAttributes']) |
| 45 for const in collect_idls_into_json.get_const_node_list(self.definition)
: |
| 46 if const: |
| 47 self.assertEqual(const.GetClass(), 'Const') |
| 48 self.assertEqual(collect_idls_into_json.get_const_type(const), '
unsigned short') |
| 49 self.assertEqual(collect_idls_into_json.get_const_value(const),
'1') |
| 50 self.assertTrue(const_member.issuperset(collect_idls_into_json.c
onst_node_to_dict(const).keys())) |
| 51 else: |
| 52 self.assertEqual(const, None) |
| 53 |
| 54 def test_attribute_node_to_dict(self): |
| 55 attribute_member = set(['Name', 'Type', 'ExtAttributes', 'Readonly', 'St
atic']) |
| 56 for attribute in collect_idls_into_json.get_attribute_node_list(self.def
inition): |
| 57 if attribute: |
| 58 self.assertEqual(attribute.GetClass(), 'Attribute') |
| 59 self.assertEqual(attribute.GetName(), 'parentNode') |
| 60 self.assertEqual(collect_idls_into_json.get_attribute_type(attri
bute), 'Node') |
| 61 self.assertTrue(attribute_member.issuperset(collect_idls_into_js
on.attribute_node_to_dict(attribute).keys())) |
| 62 else: |
| 63 self.assertEqual(attribute, None) |
| 64 |
| 65 def test_operation_node_to_dict(self): |
| 66 operate_member = set(['Static', 'ExtAttributes', 'Type', 'Name', 'Argume
nts']) |
| 67 argument_member = set(['Name', 'Type']) |
| 68 for operation in collect_idls_into_json.get_operation_node_list(self.def
inition): |
| 69 if operation: |
| 70 self.assertEqual(operation.GetClass(), 'Operation') |
| 71 self.assertEqual(operation.GetName(), 'appendChild') |
| 72 self.assertEqual(collect_idls_into_json.get_operation_type(opera
tion), 'Node') |
| 73 self.assertTrue(operate_member.issuperset(collect_idls_into_json
.operation_node_to_dict(operation).keys())) |
| 74 for argument in collect_idls_into_json.get_argument_node_list(op
eration): |
| 75 if argument: |
| 76 self.assertEqual(argument.GetClass(), 'Argument') |
| 77 self.assertEqual(argument.GetName(), 'newChild') |
| 78 self.assertEqual(collect_idls_into_json.get_argument_typ
e(argument), 'Node') |
| 79 self.assertTrue(argument_member.issuperset(collect_idls_
into_json.argument_node_to_dict(argument).keys())) |
| 80 else: |
| 81 self.assertEqual(argument, None) |
| 82 else: |
| 83 self.assertEqual(operation, None) |
| 84 |
| 85 def test_extattribute_node_to_dict(self): |
| 86 for extattr in collect_idls_into_json.get_extattribute_node_list(self.de
finition): |
| 87 if extattr: |
| 88 self.assertEqual(extattr.GetClass(), 'ExtAttribute') |
| 89 self.assertEqual(extattr.GetName(), 'CustomToV8') |
| 90 self.assertEqual(collect_idls_into_json.extattr_node_to_dict(ext
attr).keys(), ['Name']) |
| 91 self.assertEqual(collect_idls_into_json.extattr_node_to_dict(ext
attr).values(), ['CustomToV8']) |
| 92 else: |
| 93 self.assertEqual(extattr, None) |
| 94 |
| 95 def test_inherit_node_to_dict(self): |
| 96 inherit = collect_idls_into_json.inherit_node_to_dict(self.definition) |
| 97 if inherit: |
| 98 self.assertEqual(inherit.keys(), ['Parent']) |
| 99 self.assertEqual(inherit.values(), ['EventTarget']) |
| 100 else: |
| 101 self.assertEqual(inherit, []) |
| 102 |
| 103 def test_interface_node_to_dict(self): |
| 104 self.assertTrue(_KEY_SET.issuperset(collect_idls_into_json.interface_nod
e_to_dict(self.definition))) |
| 105 |
| 106 def test_merge_partial_dicts(self): |
| 107 key_name = self.definition.GetName() |
| 108 self.assertEqual(collect_idls_into_json.merge_partial_dicts({key_name: c
ollect_idls_into_json.interface_node_to_dict(self.definition)}, _PARTIAL)[key_na
me]['Partial_FilePaths'], ['Source/core/timing/WorkerGlobalScopePerformance.idl'
]) |
| 109 |
| 110 |
| 111 if __name__ == '__main__': |
| 112 unittest.main() |
OLD | NEW |