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('SVGSVGElement')
        self.assertEqual(tokenizer.tokenize(), ['SVG', 'SVG', 'Element'])
    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'])
    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('SVGSVGElement')
        self.assertEqual(tokenizer.tokenize(), ['SVG', 'SVG', 'Element'])
示例#6
0
    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('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('CDATASection')
        self.assertEqual(tokenizer.tokenize(), ['CDATA', 'Section'])

        tokenizer = SmartTokenizer('HTMLDListElement')
        self.assertEqual(tokenizer.tokenize(), ['HTML', 'DList', 'Element'])

        tokenizer = SmartTokenizer('HTMLIFrameElement')
        self.assertEqual(tokenizer.tokenize(), ['HTML', 'IFrame', '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('V8BindingForCore')
        self.assertEqual(tokenizer.tokenize(),
                         ['V8', 'Binding', 'For', 'Core'])
        tokenizer = SmartTokenizer('V8DOMRect')
        self.assertEqual(tokenizer.tokenize(), ['V8', 'DOM', 'Rect'])

        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'])