mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
|
#!/usr/bin/env python3
|
||
|
# Copyright 2016 The Chromium Authors
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
import unittest
|
||
|
|
||
|
import minimize_css
|
||
|
|
||
|
|
||
|
class CSSMinimizerTest(unittest.TestCase):
|
||
|
|
||
|
def test_simple(self):
|
||
|
source = """
|
||
|
div {
|
||
|
color: blue;
|
||
|
}
|
||
|
"""
|
||
|
minimized = minimize_css.CSSMinimizer.minimize_css(source)
|
||
|
self.assertEqual(minimized, "div{color: blue}")
|
||
|
|
||
|
def test_attribute_selectors(self):
|
||
|
source = """
|
||
|
input[type="search" i]::-webkit-textfield-decoration-container {
|
||
|
direction: ltr;
|
||
|
}
|
||
|
"""
|
||
|
minimized = minimize_css.CSSMinimizer.minimize_css(source)
|
||
|
self.assertEqual(
|
||
|
minimized,
|
||
|
# pylint: disable=line-too-long
|
||
|
"""input[type="search" i]::-webkit-textfield-decoration-container{direction: ltr}""")
|
||
|
|
||
|
def test_strip_comment(self):
|
||
|
source = """
|
||
|
/* header */
|
||
|
html {
|
||
|
/* inside block */
|
||
|
display: block;
|
||
|
}
|
||
|
/* footer */
|
||
|
"""
|
||
|
minimized = minimize_css.CSSMinimizer.minimize_css(source)
|
||
|
self.assertEqual(minimized, "html{ display: block}")
|
||
|
|
||
|
def test_no_strip_inside_quotes(self):
|
||
|
source = """div[foo=' bar ']"""
|
||
|
minimized = minimize_css.CSSMinimizer.minimize_css(source)
|
||
|
self.assertEqual(minimized, source)
|
||
|
|
||
|
source = """div[foo=" bar "]"""
|
||
|
minimized = minimize_css.CSSMinimizer.minimize_css(source)
|
||
|
self.assertEqual(minimized, source)
|
||
|
|
||
|
def test_escape_string(self):
|
||
|
source = """content: " <a onclick=\\\"javascript: alert ( 'foobar' ); \\\">";"""
|
||
|
minimized = minimize_css.CSSMinimizer.minimize_css(source)
|
||
|
self.assertEqual(minimized, source)
|