diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/bindings/scripts/overload_set_algorithm_test.py')
-rw-r--r-- | chromium/third_party/blink/renderer/bindings/scripts/overload_set_algorithm_test.py | 339 |
1 files changed, 0 insertions, 339 deletions
diff --git a/chromium/third_party/blink/renderer/bindings/scripts/overload_set_algorithm_test.py b/chromium/third_party/blink/renderer/bindings/scripts/overload_set_algorithm_test.py deleted file mode 100644 index 3a94c06e615..00000000000 --- a/chromium/third_party/blink/renderer/bindings/scripts/overload_set_algorithm_test.py +++ /dev/null @@ -1,339 +0,0 @@ -# Copyright 2017 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# pylint: disable=import-error,print-statement,relative-import,protected-access -"""Unit tests for overload_set_algorithm.py.""" - -import unittest -from overload_set_algorithm import effective_overload_set - -# disabling yapf formating for complex data, see -# https://github.com/google/yapf#why-does-yapf-destroy-my-awesome-formatting -# yapf: disable - -class EffectiveOverloadSetTest(unittest.TestCase): - def test_example_in_comments(self): - operation_list = [ - # f1: f(optional long x) - {'arguments': [{'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}]}, - # f2: f(DOMString s) - {'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}]}] - - overload_set = [ - # <f1, (long), (optional)> - ({'arguments': [{'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}]}, - ('long',), - ('optional',)), - # <f1, (), ()> - ({'arguments': [{'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}]}, - (), - ()), - # <f2, (DOMString), (required)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}]}, - ('DOMString',), - ('required',))] - - self.assertEqual(effective_overload_set(operation_list), overload_set) - - def test_example_in_spec(self): - """Tests the example provided in Web IDL spec: - https://heycam.github.io/webidl/#dfn-effective-overload-set, - look for example right after the algorithm.""" - operation_list = [ - # f1: f(DOMString a) - {'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}]}, - # f2: f(Node a, DOMString b, double... c) - {'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - # f3: f() - {'arguments': []}, - # f4: f(Event a, DOMString b, optional DOMString c, double... d) - {'arguments': [{'idl_type_object': 'Event', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}] - - overload_set = [ - # <f1, (DOMString), (required)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}]}, - ('DOMString',), - ('required',)), - # <f2, (Node, DOMString, double), (required, required, variadic)> - ({'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - ('Node', 'DOMString', 'double'), - ('required', 'required', 'variadic')), - # <f2, (Node, DOMString, double, double), - # (required, required, variadic, variadic)> - ({'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - ('Node', 'DOMString', 'double', 'double'), - ('required', 'required', 'variadic', 'variadic')), - # <f2, (Node, DOMString), (required, required)> - ({'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - ('Node', 'DOMString'), - ('required', 'required')), - # <f3, (), ()> - ({'arguments': []}, - (), - ()), - # <f4, (Event, DOMString, DOMString, double), - # (required, required, optional, variadic)> - ({'arguments': [{'idl_type_object': 'Event', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - ('Event', 'DOMString', 'DOMString', 'double'), - ('required', 'required', 'optional', 'variadic')), - # <f4, (Event, DOMString, DOMString), - # (required, required, optional)> - ({'arguments': [{'idl_type_object': 'Event', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - ('Event', 'DOMString', 'DOMString'), - ('required', 'required', 'optional')), - # <f4, (Event, DOMString), (required, required)> - ({'arguments': [{'idl_type_object': 'Event', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'double', - 'is_optional': False, - 'is_variadic': True}]}, - ('Event', 'DOMString'), - ('required', 'required'))] - - self.assertEqual(effective_overload_set(operation_list), overload_set) - - def test_element_create_proposed_syntax(self): - """Tests the proposed syntax for the convenience method Element.create. - Github issue: https://github.com/whatwg/dom/issues/477""" - operation_list = [ - # f1: f(DOMString tag, Record<DOMString, DOMString> attrs, (Node or DOMString)... children) - {'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'record<DOMString, DOMString>', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}, - # f2: f(DOMString tag, (Node or DOMString)... children) - {'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}] - - overload_set = [ - # <f1, (DOMString, Record, NodeOrDOMString), (required, required, variadic)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'record<DOMString, DOMString>', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString', 'record<DOMString, DOMString>', 'NodeOrDOMString'), - ('required', 'required', 'variadic')), - # <f1, (DOMString, Record), (required, required)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'record<DOMString, DOMString>', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString', 'record<DOMString, DOMString>'), - ('required', 'required')), - # <f2, (DOMString, NodeOrDOMString), (required, variadic)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString', 'NodeOrDOMString'), - ('required', 'variadic')), - # <f2, (DOMString, NodeOrDOMString, NodeOrDOMString), (required, variadic, variadic)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString', 'NodeOrDOMString', 'NodeOrDOMString'), - ('required', 'variadic', 'variadic')), - # <f2, (DOMString), (required)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'NodeOrDOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString',), - ('required',))] - - self.assertEqual(effective_overload_set(operation_list), overload_set) - - def test_optional_preceding_variadic(self): - operation_list = [ - # f1: f(Node a, optional long b, DOMString... c) - {'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - # f2: f(DOMString... a) - {'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}] - - overload_set = [ - # <f1, (Node, long, DOMString), (required, optional, variadic)> - ({'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('Node', 'long', 'DOMString'), - ('required', 'optional', 'variadic')), - # <f1, (Node, long), (required, optional)> - ({'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('Node', 'long'), - ('required', 'optional')), - # <f1, (Node), (required)> - ({'arguments': [{'idl_type_object': 'Node', - 'is_optional': False, - 'is_variadic': False}, - {'idl_type_object': 'long', - 'is_optional': True, - 'is_variadic': False}, - {'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('Node',), - ('required',)), - # <f2, (DOMString), (variadic)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString',), - ('variadic',)), - # <f2, (DOMString, DOMString), (variadic, variadic)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString', 'DOMString'), - ('variadic', 'variadic')), - # <f2, (DOMString, DOMString, DOMString), (variadic, variadic, variadic)> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - ('DOMString', 'DOMString', 'DOMString'), - ('variadic', 'variadic', 'variadic')), - # <f2, (), ()> - ({'arguments': [{'idl_type_object': 'DOMString', - 'is_optional': False, - 'is_variadic': True}]}, - (), - ())] - - self.assertEqual(effective_overload_set(operation_list), overload_set) -# yapf: enable |