def test_split_into_overloads(self): helper = IdlTestingHelper() type_double = IdlType('double') type_foo = IdlType('foo') type_double_or_foo = IdlUnionType([type_double, type_foo]) idl_operation = IdlOperation() idl_operation.arguments = [] splitter = MethodOverloadSplitter(idl_operation) result = splitter.split_into_overloads() self.assertEqual(result, [[]]) idl_operation.arguments = [ helper.make_stub_idl_argument(None, type_double, True) ] splitter = MethodOverloadSplitter(idl_operation) result = splitter.split_into_overloads() self.assertEqual(result, [[], [type_double]]) idl_operation.arguments = [ helper.make_stub_idl_argument(None, type_double_or_foo) ] splitter = MethodOverloadSplitter(idl_operation) result = splitter.split_into_overloads() self.assertEqual(result, [[type_double], [type_foo]])
def test_split_add_event_listener(self): """Tests how EventTarget.addEventListener is split into respective overloads. From: void addEventListener( DOMString type, EventListener? listener, optional (AddEventListenerOptions or boolean) options) produces: """ helper = IdlTestingHelper() type_dom_string = IdlType('DOMString') type_listener = IdlType('EventListener') type_options = IdlType('AddEventListenerOptions') type_boolean = IdlType('boolean') type_union = IdlUnionType([type_options, type_boolean]) idl_operation = IdlOperation() idl_operation.arguments = [ helper.make_stub_idl_argument('type', type_dom_string), helper.make_stub_idl_argument('listener', type_listener), helper.make_stub_idl_argument('options', type_union, is_optional=True) ] splitter = MethodOverloadSplitter(idl_operation) result = splitter.split_into_overloads() self.assertEqual(result, [[type_dom_string, type_listener], [type_dom_string, type_listener, type_options], [type_dom_string, type_listener, type_boolean]])
def test_split_add_event_listener(self): """Tests how EventTarget.addEventListener is split into respective overloads. From: void addEventListener( DOMString type, EventListener? listener, optional (AddEventListenerOptions or boolean) options) produces: """ helper = IdlTestingHelper() type_dom_string = IdlType('DOMString') type_listener = IdlType('EventListener') type_options = IdlType('AddEventListenerOptions') type_boolean = IdlType('boolean') type_union = IdlUnionType([type_options, type_boolean]) idl_operation = IdlOperation() idl_operation.arguments = [ helper.make_stub_idl_argument('type', type_dom_string), helper.make_stub_idl_argument('listener', type_listener), helper.make_stub_idl_argument('options', type_union, is_optional=True)] splitter = MethodOverloadSplitter(idl_operation) result = splitter.split_into_overloads() self.assertEqual( result, [[type_dom_string, type_listener], [type_dom_string, type_listener, type_options], [type_dom_string, type_listener, type_boolean]])