| #!/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) |