Example #1
0
    def test_variable_scopes2(self):
        src = u'''\
        s1 {
            $x: 5;
            r1: $x;
        }

        s2 {
            r2: $x;
        }
        '''
        src = textwrap.dedent(src)
        with self.assertRaises(errors.CSSVarNameError):
            core.compile_string(src)
Example #2
0
    def test_variable_expr1(self):
        src = u'''\
        $y: 8;
        s1 {
            $x: (5 + $y);
            r1: $x $y;
        }

        s2 {
            r2: (11 - $y);
            r3: ($y + $y);
        }
        '''
        expect = u'''\
        s1 {
            r1: 13 8;
        }
        s2 {
            r2: 3;
            r3: 16;
        }
        '''
        src = textwrap.dedent(src)
        expect = textwrap.dedent(expect)
        r = core.compile_string(src)
        self.assertEqual(expect, r)
Example #3
0
 def test_variable_scopes3(self):
     src = u'''\
     s1 {
         $x: 6;
         r1: $x;
         s2 {
             $x: 7;
             r2: $x;
             s3 {
                 $x: 8;
                 r3: $x;
                 s4 {
                     $x: 9;
                     r4: $x;
                 }
                 r3a: $x;
             }
             r2a: $x;
         }
         r1a: $x;
     }
     '''
     expect = u'''\
     s1 {
         r1: 6;
         r1a: 6;
     }
     s1 s2 {
         r2: 7;
         r2a: 7;
     }
     s1 s2 s3 {
         r3: 8;
         r3a: 8;
     }
     s1 s2 s3 s4 {
         r4: 9;
     }
     '''
     src = textwrap.dedent(src)
     expect = textwrap.dedent(expect)
     r = core.compile_string(src)
     self.assertEqual(expect, r)
Example #4
0
    def test_variable_scopes1(self):
        src = u'''\
        $x: 8;
        s1 {
            $x: 5;
            r1: $x;
        }

        s2 {
            r2: $x;
        }
        '''
        expect = u'''\
        s1 {
            r1: 5;
        }
        s2 {
            r2: 8;
        }
        '''
        src = textwrap.dedent(src)
        expect = textwrap.dedent(expect)
        r = core.compile_string(src)
        self.assertEqual(expect, r)
Example #5
0
 def test_empty(self):
     src = u''
     r = core.compile_string(src)
     self.assertEqual(u'', normalize(r))
Example #6
0
 def test_empty(self):
     src = u''
     expect = u''
     r = core.compile_string(src, options={'ENABLE_IMPORTS': False})
     self.assertEqual(expect, normalize(r))
Example #7
0
 def test_division2(self):
     src = u'selector {a: 8/4+1; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 3; }', normalize(r))
Example #8
0
 def test_fwdslash(self):
     src = u'selector {a: 6/3; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 6/3; }', normalize(r))
Example #9
0
 def test_solve_expr1(self):
     src = u'selector {a: 1+2+3+4; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 10; }', normalize(r))
Example #10
0
 def test_nested(self):
     src = u'outer { inner { rule: value; } }'
     expect = u'outer {} outer inner { rule: value; }'
     r = core.compile_string(src)
     self.assertEqual(expect, normalize(r))
Example #11
0
 def test_varref3(self):
     src = u'$x: 8; $y: 3;\nselector { a: $x $y; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 8 3; }', normalize(r))
Example #12
0
 def test_vardef2(self):
     src = u'$x: 8 ;'
     r = core.compile_string(src)
     self.assertEqual(u'', normalize(r))
Example #13
0
 def test_unaryop(self):
     src = u'selector {a: -5; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: -5; }', normalize(r))
Example #14
0
 def test_function(self):
     src = u'selector {a: func("abc",15) ; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: func("abc", 15); }', normalize(r))
Example #15
0
 def test_not_unicode(self):
     src = ''
     with self.assertRaises(ValueError) as cm:
         core.compile_string(src)
Example #16
0
 def test_simple(self):
     src = u'rule {}'
     r = core.compile_string(src)
     self.assertEqual(u'rule {}', normalize(r))
Example #17
0
 def test_varref4(self):
     src = u'selector { $x: 4; $x: ($x + $x); a: ($x + $x); }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 16; }', normalize(r))
Example #18
0
 def test_values1(self):
     src = u'rule {a: "string"; b: #aabbcc; c: 1.5; d: 2em; e: 45% }'
     r = core.compile_string(src)
     self.assertEqual(u'rule { a: "string"; b: #aabbcc; c: 1.5; d: 2em; e: 45%; }', normalize(r))
Example #19
0
 def test_syntax_error(self):
     src = u'selector. class'
     with self.assertRaises(errors.CSSSyntaxError):
         core.compile_string(src)
Example #20
0
 def test_solve_expr3(self):
     src = u'selector {a: 2*2+3*4; }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 16; }', normalize(r))
Example #21
0
 def test_syntax_error2(self):
     src = u'selector. class'
     with self.assertRaises(SystemExit):
         core.compile_string(src, options={'PROPAGATE_EXCEPTIONS': False})
Example #22
0
 def test_division1(self):
     src = u'selector {a: (6/3); }'
     r = core.compile_string(src)
     self.assertEqual(u'selector { a: 2; }', normalize(r))
Example #23
0
 def test_paren4(self):
     src = u'selector { rule: -(-1); } '
     expect = u'selector { rule: -(-1); }'
     r = core.compile_string(src, options={'ENABLE_SOLVE': False})
     self.assertEqual(expect, normalize(r))
Example #24
0
 def test_selectors(self):
     src = u'a#b .c, d:not(e) *[fgh], [i~=jk] :m ::n :before {}'
     exp = u'a#b .c, d:not(e) *[fgh], [i~=jk] :m ::n ::before {}'
     r = core.compile_string(src)
     self.assertEqual(exp, normalize(r))
Example #25
0
 def test_unnecessary_paren3(self):
     src = u'selector { rule: (5) } '
     expect = u'selector { rule: 5; }'
     r = core.compile_string(src, options={'ENABLE_SOLVE': False})
     self.assertEqual(expect, normalize(r))