|
|
@ -1,272 +0,0 @@
|
|
|
|
diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py
|
|
|
|
|
|
|
|
--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing 2018-04-19 09:51:46.165723235 -0400
|
|
|
|
|
|
|
|
+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py 2018-04-19 09:51:46.171723115 -0400
|
|
|
|
|
|
|
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
+# 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.
|
|
|
|
|
|
|
|
diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py
|
|
|
|
|
|
|
|
--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing 2018-04-19 09:51:46.171723115 -0400
|
|
|
|
|
|
|
|
+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py 2018-04-19 09:51:46.172723095 -0400
|
|
|
|
|
|
|
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
+# 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
|
|
|
|
|
|
|
|
+import re
|
|
|
|
|
|
|
|
+SPECIAL_TOKENS = [
|
|
|
|
|
|
|
|
+ # This list should be sorted by length.
|
|
|
|
|
|
|
|
+ 'CString',
|
|
|
|
|
|
|
|
+ 'Float32',
|
|
|
|
|
|
|
|
+ 'Float64',
|
|
|
|
|
|
|
|
+ 'Base64',
|
|
|
|
|
|
|
|
+ 'IFrame',
|
|
|
|
|
|
|
|
+ 'Latin1',
|
|
|
|
|
|
|
|
+ 'PlugIn',
|
|
|
|
|
|
|
|
+ 'SQLite',
|
|
|
|
|
|
|
|
+ 'Uint16',
|
|
|
|
|
|
|
|
+ 'Uint32',
|
|
|
|
|
|
|
|
+ 'WebGL2',
|
|
|
|
|
|
|
|
+ 'ASCII',
|
|
|
|
|
|
|
|
+ 'CType',
|
|
|
|
|
|
|
|
+ 'DList',
|
|
|
|
|
|
|
|
+ 'Int16',
|
|
|
|
|
|
|
|
+ 'Int32',
|
|
|
|
|
|
|
|
+ 'MPath',
|
|
|
|
|
|
|
|
+ 'OList',
|
|
|
|
|
|
|
|
+ 'TSpan',
|
|
|
|
|
|
|
|
+ 'UList',
|
|
|
|
|
|
|
|
+ 'UTF16',
|
|
|
|
|
|
|
|
+ 'Uint8',
|
|
|
|
|
|
|
|
+ 'WebGL',
|
|
|
|
|
|
|
|
+ 'XPath',
|
|
|
|
|
|
|
|
+ 'ETC1',
|
|
|
|
|
|
|
|
+ 'HTML',
|
|
|
|
|
|
|
|
+ 'Int8',
|
|
|
|
|
|
|
|
+ 'S3TC',
|
|
|
|
|
|
|
|
+ 'SPv2',
|
|
|
|
|
|
|
|
+ 'UTF8',
|
|
|
|
|
|
|
|
+ 'API',
|
|
|
|
|
|
|
|
+ 'CSS',
|
|
|
|
|
|
|
|
+ 'DOM',
|
|
|
|
|
|
|
|
+ 'EXT',
|
|
|
|
|
|
|
|
+ 'RTC',
|
|
|
|
|
|
|
|
+ 'SVG',
|
|
|
|
|
|
|
|
+ '2D',
|
|
|
|
|
|
|
|
+ 'AX',
|
|
|
|
|
|
|
|
+ 'V0',
|
|
|
|
|
|
|
|
+ 'V8',
|
|
|
|
|
|
|
|
+]
|
|
|
|
|
|
|
|
+MATCHING_EXPRESSION = '((?:[A-Z][a-z]+)|[0-9]D?$)'
|
|
|
|
|
|
|
|
+class SmartTokenizer(object):
|
|
|
|
|
|
|
|
+ """Detects special cases that are not easily discernible without additional
|
|
|
|
|
|
|
|
+ knowledge, such as recognizing that in SVGSVGElement, the first two SVGs
|
|
|
|
|
|
|
|
+ are separate tokens, but WebGL is one token."""
|
|
|
|
|
|
|
|
+ def __init__(self, name):
|
|
|
|
|
|
|
|
+ self.remaining = name
|
|
|
|
|
|
|
|
+ def tokenize(self):
|
|
|
|
|
|
|
|
+ name = self.remaining
|
|
|
|
|
|
|
|
+ tokens = []
|
|
|
|
|
|
|
|
+ while len(name) > 0:
|
|
|
|
|
|
|
|
+ matched_token = None
|
|
|
|
|
|
|
|
+ for token in SPECIAL_TOKENS:
|
|
|
|
|
|
|
|
+ if name.startswith(token):
|
|
|
|
|
|
|
|
+ matched_token = token
|
|
|
|
|
|
|
|
+ break
|
|
|
|
|
|
|
|
+ if not matched_token:
|
|
|
|
|
|
|
|
+ match = re.search(MATCHING_EXPRESSION, name)
|
|
|
|
|
|
|
|
+ if not match:
|
|
|
|
|
|
|
|
+ matched_token = name
|
|
|
|
|
|
|
|
+ elif match.start(0) != 0:
|
|
|
|
|
|
|
|
+ matched_token = name[:match.start(0)]
|
|
|
|
|
|
|
|
+ else:
|
|
|
|
|
|
|
|
+ matched_token = match.group(0)
|
|
|
|
|
|
|
|
+ tokens.append(name[:len(matched_token)])
|
|
|
|
|
|
|
|
+ name = name[len(matched_token):]
|
|
|
|
|
|
|
|
+ return tokens
|
|
|
|
|
|
|
|
+class NameStyleConverter(object):
|
|
|
|
|
|
|
|
+ """Converts names from camelCase to various other styles.
|
|
|
|
|
|
|
|
+ """
|
|
|
|
|
|
|
|
+ def __init__(self, name):
|
|
|
|
|
|
|
|
+ self.tokens = self.tokenize(name)
|
|
|
|
|
|
|
|
+ def tokenize(self, name):
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer(name)
|
|
|
|
|
|
|
|
+ return tokenizer.tokenize()
|
|
|
|
|
|
|
|
+ def to_snake_case(self):
|
|
|
|
|
|
|
|
+ """Snake case is the file and variable name style per Google C++ Style
|
|
|
|
|
|
|
|
+ Guide:
|
|
|
|
|
|
|
|
+ https://google.github.io/styleguide/cppguide.html#Variable_Names
|
|
|
|
|
|
|
|
+ Also known as the hacker case.
|
|
|
|
|
|
|
|
+ https://en.wikipedia.org/wiki/Snake_case
|
|
|
|
|
|
|
|
+ """
|
|
|
|
|
|
|
|
+ return '_'.join([token.lower() for token in self.tokens])
|
|
|
|
|
|
|
|
+ def to_upper_camel_case(self):
|
|
|
|
|
|
|
|
+ """Upper-camel case is the class and function name style per
|
|
|
|
|
|
|
|
+ Google C++ Style Guide:
|
|
|
|
|
|
|
|
+ https://google.github.io/styleguide/cppguide.html#Function_Names
|
|
|
|
|
|
|
|
+ Also known as the PascalCase.
|
|
|
|
|
|
|
|
+ https://en.wikipedia.org/wiki/Camel_case.
|
|
|
|
|
|
|
|
+ """
|
|
|
|
|
|
|
|
+ return ''.join([token[0].upper() + token[1:] for token in self.tokens])
|
|
|
|
|
|
|
|
+ def to_macro_case(self):
|
|
|
|
|
|
|
|
+ """Macro case is the macro name style per Google C++ Style Guide:
|
|
|
|
|
|
|
|
+ https://google.github.io/styleguide/cppguide.html#Macro_Names
|
|
|
|
|
|
|
|
+ """
|
|
|
|
|
|
|
|
+ return '_'.join([token.upper() for token in self.tokens])
|
|
|
|
|
|
|
|
+ def to_all_cases(self):
|
|
|
|
|
|
|
|
+ return {
|
|
|
|
|
|
|
|
+ 'snake_case': self.to_snake_case(),
|
|
|
|
|
|
|
|
+ 'upper_camel_case': self.to_upper_camel_case(),
|
|
|
|
|
|
|
|
+ 'macro_case': self.to_macro_case(),
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py
|
|
|
|
|
|
|
|
--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing 2018-04-19 09:51:46.172723095 -0400
|
|
|
|
|
|
|
|
+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py 2018-04-19 09:51:46.173723075 -0400
|
|
|
|
|
|
|
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
+# 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 name_style_converter.py."""
|
|
|
|
|
|
|
|
+import unittest
|
|
|
|
|
|
|
|
+from name_style_converter import NameStyleConverter
|
|
|
|
|
|
|
|
+from name_style_converter import SmartTokenizer
|
|
|
|
|
|
|
|
+class SmartTokenizerTest(unittest.TestCase):
|
|
|
|
|
|
|
|
+ def test_simple_cases(self):
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('foo')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['foo'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('fooBar')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('fooBarBaz')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar', 'Baz'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('Baz')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Baz'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), [])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('FOO')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['FOO'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('foo2')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['foo', '2'])
|
|
|
|
|
|
|
|
+ def test_tricky_cases(self):
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('XMLHttpRequest')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['XML', 'Http', 'Request'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('WebGLRenderingContext')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(),
|
|
|
|
|
|
|
|
+ ['WebGL', 'Rendering', 'Context'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CanvasRenderingContext2D')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(),
|
|
|
|
|
|
|
|
+ ['Canvas', 'Rendering', 'Context', '2D'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CanvasRenderingContext2DAPITest')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(),
|
|
|
|
|
|
|
|
+ ['Canvas', 'Rendering', 'Context', '2D', 'API', 'Test'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('SVGSVGElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'SVG', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CanvasRenderingContext2D')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CSSURLImageValue')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['CSS', 'URL', 'Image', 'Value'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CSSPropertyAPID')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['CSS', 'Property', 'API', 'D'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('AXARIAGridCell')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['AX', 'ARIA', 'Grid', 'Cell'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CDATASection')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['CDATA', 'Section'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('ASCIICType')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['ASCII', 'CType'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CString')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['CString'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLDListElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'DList', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLOListElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'OList', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLIFrameElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'IFrame', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLPlugInElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'PlugIn', 'Element'])
|
|
|
|
|
|
|
|
+ # No special handling for OptGroup, FieldSet, and TextArea.
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLOptGroupElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Opt', 'Group', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLFieldSetElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Field', 'Set', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('HTMLTextAreaElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Text', 'Area', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('Path2D')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Path', '2D'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('Point2D')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Point', '2D'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('CanvasRenderingContext2DState')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D', 'State'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('RTCDTMFSender')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['RTC', 'DTMF', 'Sender'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('WebGLCompressedTextureS3TCsRGB')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['WebGL', 'Compressed', 'Texture', 'S3TC', 'sRGB'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('WebGL2CompressedTextureETC1')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['WebGL2', 'Compressed', 'Texture', 'ETC1'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('EXTsRGB')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['EXT', 'sRGB'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('SVGFEBlendElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'FE', 'Blend', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('SVGMPathElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'MPath', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('SVGTSpanElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'TSpan', 'Element'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('SVGURIReference')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'URI', 'Reference'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('UTF16TextIterator')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['UTF16', 'Text', 'Iterator'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('UTF8Decoder')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['UTF8', 'Decoder'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('Uint8Array')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Uint8', 'Array'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('DOMWindowBase64')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['DOM', 'Window', 'Base64'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('TextCodecLatin1')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Text', 'Codec', 'Latin1'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('V8BindingForCore')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['V8', 'Binding', 'For', 'Core'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('V8DOMRect')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['V8', 'DOM', 'Rect'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('V0InsertionPoint')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['V0', 'Insertion', 'Point'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('ShadowDOMV0Test')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Shadow', 'DOM', 'V0', 'Test'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('ElementShadowV0')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Element', 'Shadow', 'V0'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('StubChromeClientForSPv2')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Stub', 'Chrome', 'Client', 'For', 'SPv2'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('SQLiteAuthorizer')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['SQLite', 'Authorizer'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('XPathEvaluator')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['XPath', 'Evaluator'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('IsXHTMLDocument')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Is', 'XHTML', 'Document'])
|
|
|
|
|
|
|
|
+ tokenizer = SmartTokenizer('Animation.idl')
|
|
|
|
|
|
|
|
+ self.assertEqual(tokenizer.tokenize(), ['Animation', '.idl'])
|
|
|
|
|
|
|
|
+class NameStyleConverterTest(unittest.TestCase):
|
|
|
|
|
|
|
|
+ def test_snake_case(self):
|
|
|
|
|
|
|
|
+ converter = NameStyleConverter('HTMLElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(converter.to_snake_case(), 'html_element')
|
|
|
|
|
|
|
|
+ def test_upper_camel_case(self):
|
|
|
|
|
|
|
|
+ converter = NameStyleConverter('someSuperThing')
|
|
|
|
|
|
|
|
+ self.assertEqual(converter.to_upper_camel_case(), 'SomeSuperThing')
|
|
|
|
|
|
|
|
+ converter = NameStyleConverter('SVGElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(converter.to_upper_camel_case(), 'SVGElement')
|
|
|
|
|
|
|
|
+ def test_macro_case(self):
|
|
|
|
|
|
|
|
+ converter = NameStyleConverter('WebGLBaz2D')
|
|
|
|
|
|
|
|
+ self.assertEqual(converter.to_macro_case(), 'WEBGL_BAZ_2D')
|
|
|
|
|
|
|
|
+ def test_all_cases(self):
|
|
|
|
|
|
|
|
+ converter = NameStyleConverter('SVGScriptElement')
|
|
|
|
|
|
|
|
+ self.assertEqual(converter.to_all_cases(), {
|
|
|
|
|
|
|
|
+ 'snake_case': 'svg_script_element',
|
|
|
|
|
|
|
|
+ 'upper_camel_case': 'SVGScriptElement',
|
|
|
|
|
|
|
|
+ 'macro_case': 'SVG_SCRIPT_ELEMENT',
|
|
|
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py
|
|
|
|
|
|
|
|
--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing 2018-04-19 11:34:40.621293007 -0400
|
|
|
|
|
|
|
|
+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py 2018-04-19 11:34:34.440413163 -0400
|
|
|
|
|
|
|
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
+# 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.
|
|
|
|
|