Esempio n. 1
0
 def assert_this(str_, parentheses, attr_, tail):
     source = l.enumerate_source('')
     result = l.extract_tag_attribute(str_, source, parentheses)
     self.assertEqual(result[0], attr_)
     self.assertEqual(tail, result[1])
Esempio n. 2
0
 def assert_this(str_, parentheses, attr_, tail):
     source = l.enumerate_source('')
     result = l.extract_tag_attribute(str_, source, parentheses)
     self.assertEqual(result[0], attr_)
     self.assertEqual(tail, result[1])
Esempio n. 3
0
    def test_parse_tag_attribute(self):
        def assert_this(str_, parentheses, attr_, tail):
            source = l.enumerate_source('')
            result = l.extract_tag_attribute(str_, source, parentheses)
            self.assertEqual(result[0], attr_)
            self.assertEqual(tail, result[1])

        source = l.enumerate_source('')
        self.assertEqual(l.extract_tag_attribute("", source), None)
        self.assertEqual(l.extract_tag_attribute(" ", source), None)
        self.assertEqual(l.extract_tag_attribute("=", source), None)
        self.assertEqual(l.extract_tag_attribute(" = ", source), None)
        self.assertEqual(l.extract_tag_attribute("|", source), None)
        self.assertEqual(l.extract_tag_attribute("'", source), None)
        self.assertEqual(l.extract_tag_attribute("()", source, True), None)
        self.assertEqual(l.extract_tag_attribute(")", source, True), None)

        assert_this('attr="value"', False, 'attr="value"', '')
        assert_this('attr=${val}', False, 'attr="${val}"', '')
        assert_this('attr=(val)', False, 'attr="${val}"', '')

        # Test digital values
        assert_this('attr=7 attr2=val', False, 'attr="7"', ' attr2=val')
        assert_this('attr=.7 attr2=val', False, 'attr=".7"', ' attr2=val')
        assert_this('attr=-7 attr2=val', False, 'attr="-7"', ' attr2=val')
        assert_this('attr=+7 attr2=val', False, 'attr="+7"', ' attr2=val')
        assert_this('attr=-.7 attr2=val', False, 'attr="-.7"', ' attr2=val')
        assert_this('attr=+.7 attr2=val', False, 'attr="+.7"', ' attr2=val')
        assert_this('attr=7% attr2=val', False, 'attr="7%"', ' attr2=val')

        assert_this('attr=10.7 attr2=val', False, 'attr="10.7"', ' attr2=val')
        assert_this('attr=-10.7 attr2=val', False, 'attr="-10.7"',
                    ' attr2=val')
        assert_this('attr=+10.7 attr2=val', False, 'attr="+10.7"',
                    ' attr2=val')
        assert_this('attr=10.107 attr2=val', False, 'attr="10.107"',
                    ' attr2=val')
        assert_this('attr=107 attr2=val', False, 'attr="107"', ' attr2=val')

        assert_this('style=c.selected_cover', False,
                    'style="${c.selected_cover}"', '')
        assert_this('href=item[\'url\']', False, 'href="${item[\'url\']}"', '')
        assert_this('value=extra_title[0]', False, 'value="${extra_title[0]}"',
                    '')

        assert_this(
            'attr=obj.url(request, func("test([\'") + "{test}".format(test="123"), cover[\'image\'])',
            False,
            'attr="${obj.url(request, func("test([\'") + "{test}".format(test="123"), cover[\'image\'])}"',
            '')

        assert_this('attr=${val} selected', False, 'attr="${val}"',
                    ' selected')
        assert_this('attr=(val) selected', False, 'attr="${val}"', ' selected')
        assert_this('attr=val selected', False, 'attr="${val}"', ' selected')
        assert_this('attr=_(\'i18n message\') selected', False,
                    'attr="${_(\'i18n message\')}"', ' selected')
        assert_this('attr=${val}? selected', False,
                    """${(val) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=(val)? selected', False,
                    """${(val) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=val? selected', False,
                    """${(val) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=${val + 1}? selected', False,
                    """${(val + 1) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=(val + 1)? selected', False,
                    """${(val + 1) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr="${val}"? selected', False, 'attr="${val}"',
                    '? selected')
        assert_this('attr="${\\"val\\"}"? selected', False, 'attr="${"val"}"',
                    '? selected')

        assert_this('attr="value")', True, 'attr="value"', ')')
        assert_this('attr=${val})', True, 'attr="${val}"', ')')
        assert_this('attr=(val))', True, 'attr="${val}"', ')')
        assert_this('attr=${val}?)', True,
                    """${(val) and 'attr="attr"' or ''|n}""", ')')
        assert_this('attr=(val)?)', True,
                    """${(val) and 'attr="attr"' or ''|n}""", ')')
        assert_this(
            'attr=(val("test() is a function"))?)', True,
            """${(val("test() is a function")) and 'attr="attr"' or ''|n}""",
            ')')
        assert_this('attr=${val} selected)', True, 'attr="${val}"',
                    ' selected)')
        assert_this('attr=(val) selected)', True, 'attr="${val}"',
                    ' selected)')
        assert_this('attr=val) selected', True, 'attr="${val}"', ') selected')
        assert_this('attr="${\\"val\\"}"?) selected', True, 'attr="${"val"}"',
                    '?) selected')

        assert_this('attr${attr}attr="${\\"val\\"}"?) selected', True,
                    'attr${attr}attr="${"val"}"', '?) selected')
Esempio n. 4
0
    def test_parse_tag_attribute(self):
        def assert_this(str_, parentheses, attr_, tail):
            source = l.enumerate_source('')
            result = l.extract_tag_attribute(str_, source, parentheses)
            self.assertEqual(result[0], attr_)
            self.assertEqual(tail, result[1])

        source = l.enumerate_source('')
        self.assertEqual(l.extract_tag_attribute("", source), None)
        self.assertEqual(l.extract_tag_attribute(" ", source), None)
        self.assertEqual(l.extract_tag_attribute("=", source), None)
        self.assertEqual(l.extract_tag_attribute(" = ", source), None)
        self.assertEqual(l.extract_tag_attribute("|", source), None)
        self.assertEqual(l.extract_tag_attribute("'", source), None)
        self.assertEqual(l.extract_tag_attribute("()", source, True), None)
        self.assertEqual(l.extract_tag_attribute(")", source, True), None)

        assert_this('attr="value"', False, 'attr="value"', '')
        assert_this('attr=${val}', False,  'attr="${val}"', '')
        assert_this('attr=(val)', False,  'attr="${val}"', '')

        # Test digital values
        assert_this('attr=7 attr2=val', False,  'attr="7"', ' attr2=val')
        assert_this('attr=.7 attr2=val', False,  'attr=".7"', ' attr2=val')
        assert_this('attr=-7 attr2=val', False,  'attr="-7"', ' attr2=val')
        assert_this('attr=+7 attr2=val', False,  'attr="+7"', ' attr2=val')
        assert_this('attr=-.7 attr2=val', False,  'attr="-.7"', ' attr2=val')
        assert_this('attr=+.7 attr2=val', False,  'attr="+.7"', ' attr2=val')
        assert_this('attr=7% attr2=val', False,  'attr="7%"', ' attr2=val')
        
        assert_this('attr=10.7 attr2=val', False,  'attr="10.7"', ' attr2=val')
        assert_this('attr=-10.7 attr2=val', False,  'attr="-10.7"', ' attr2=val')
        assert_this('attr=+10.7 attr2=val', False,  'attr="+10.7"', ' attr2=val')
        assert_this('attr=10.107 attr2=val', False,  'attr="10.107"', ' attr2=val')
        assert_this('attr=107 attr2=val', False,  'attr="107"', ' attr2=val')

        assert_this('style=c.selected_cover', False,  'style="${c.selected_cover}"', '')
        assert_this('href=item[\'url\']', False,  'href="${item[\'url\']}"', '')
        assert_this('value=extra_title[0]', False,  'value="${extra_title[0]}"', '')

        assert_this('attr=obj.url(request, func("test([\'") + "{test}".format(test="123"), cover[\'image\'])', False,  'attr="${obj.url(request, func("test([\'") + "{test}".format(test="123"), cover[\'image\'])}"', '')

        assert_this('attr=${val} selected', False,  'attr="${val}"', ' selected')
        assert_this('attr=(val) selected', False,  'attr="${val}"', ' selected')
        assert_this('attr=val selected', False,  'attr="${val}"', ' selected')
        assert_this('attr=_(\'i18n message\') selected', False,  'attr="${_(\'i18n message\')}"', ' selected')
        assert_this('attr=${val}? selected', False,  """${(val) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=(val)? selected', False,  """${(val) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=val? selected', False,  """${(val) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=${val + 1}? selected', False,  """${(val + 1) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr=(val + 1)? selected', False,  """${(val + 1) and 'attr="attr"' or ''|n}""", ' selected')
        assert_this('attr="${val}"? selected', False,  'attr="${val}"', '? selected')
        assert_this('attr="${\\"val\\"}"? selected', False,  'attr="${"val"}"', '? selected')

        assert_this('attr="value")', True, 'attr="value"', ')')
        assert_this('attr=${val})', True, 'attr="${val}"', ')')
        assert_this('attr=(val))', True, 'attr="${val}"', ')')
        assert_this('attr=${val}?)', True, """${(val) and 'attr="attr"' or ''|n}""", ')')
        assert_this('attr=(val)?)', True, """${(val) and 'attr="attr"' or ''|n}""", ')')
        assert_this('attr=(val("test() is a function"))?)', True, """${(val("test() is a function")) and 'attr="attr"' or ''|n}""", ')')
        assert_this('attr=${val} selected)', True, 'attr="${val}"', ' selected)')
        assert_this('attr=(val) selected)', True, 'attr="${val}"', ' selected)')
        assert_this('attr=val) selected', True, 'attr="${val}"', ') selected')
        assert_this('attr="${\\"val\\"}"?) selected', True,  'attr="${"val"}"', '?) selected')

        assert_this('attr${attr}attr="${\\"val\\"}"?) selected', True,  'attr${attr}attr="${"val"}"', '?) selected')