!RBIX 333337424968067900 x M 1 n n x 10 __script__ i 56 5 45 0 1 65 49 2 0 49 3 1 7 4 64 81 5 47 49 6 1 15 99 7 7 45 8 9 43 10 43 11 65 49 12 3 13 99 12 7 13 12 7 14 12 65 12 49 15 4 15 49 13 0 15 2 11 I 6 I 0 I 0 I 0 n p 16 x 4 File n x 11 active_path x 7 dirname s 15 /../test_helper x 1 + x 7 require x 10 ExtendTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 10 ExtendTest i 944 5 66 99 7 0 7 1 65 67 49 2 0 49 3 4 15 99 7 4 7 5 65 67 49 2 0 49 3 4 15 99 7 6 7 7 65 67 49 2 0 49 3 4 15 99 7 8 7 9 65 67 49 2 0 49 3 4 15 99 7 10 7 11 65 67 49 2 0 49 3 4 15 99 7 12 7 13 65 67 49 2 0 49 3 4 15 99 7 14 7 15 65 67 49 2 0 49 3 4 15 99 7 16 7 17 65 67 49 2 0 49 3 4 15 99 7 18 7 19 65 67 49 2 0 49 3 4 15 99 7 20 7 21 65 67 49 2 0 49 3 4 15 99 7 22 7 23 65 67 49 2 0 49 3 4 15 99 7 24 7 25 65 67 49 2 0 49 3 4 15 99 7 26 7 27 65 67 49 2 0 49 3 4 15 99 7 28 7 29 65 67 49 2 0 49 3 4 15 99 7 30 7 31 65 67 49 2 0 49 3 4 15 99 7 32 7 33 65 67 49 2 0 49 3 4 15 99 7 34 7 35 65 67 49 2 0 49 3 4 15 99 7 36 7 37 65 67 49 2 0 49 3 4 15 99 7 38 7 39 65 67 49 2 0 49 3 4 15 99 7 40 7 41 65 67 49 2 0 49 3 4 15 99 7 42 7 43 65 67 49 2 0 49 3 4 15 99 7 44 7 45 65 67 49 2 0 49 3 4 15 99 7 46 7 47 65 67 49 2 0 49 3 4 15 99 7 48 7 49 65 67 49 2 0 49 3 4 15 99 7 50 7 51 65 67 49 2 0 49 3 4 15 99 7 52 7 53 65 67 49 2 0 49 3 4 15 99 7 54 7 55 65 67 49 2 0 49 3 4 15 99 7 56 7 57 65 67 49 2 0 49 3 4 15 99 7 58 7 59 65 67 49 2 0 49 3 4 15 99 7 60 7 61 65 67 49 2 0 49 3 4 15 99 7 62 7 63 65 67 49 2 0 49 3 4 15 99 7 64 7 65 65 67 49 2 0 49 3 4 15 99 7 66 7 67 65 67 49 2 0 49 3 4 15 99 7 68 7 69 65 67 49 2 0 49 3 4 15 99 7 70 7 71 65 67 49 2 0 49 3 4 15 99 7 72 7 73 65 67 49 2 0 49 3 4 15 99 7 74 7 75 65 67 49 2 0 49 3 4 15 99 7 76 7 77 65 67 49 2 0 49 3 4 15 99 7 78 7 79 65 67 49 2 0 49 3 4 15 99 7 80 7 81 65 67 49 2 0 49 3 4 15 99 7 82 7 83 65 67 49 2 0 49 3 4 15 99 7 84 7 85 65 67 49 2 0 49 3 4 15 99 7 86 7 87 65 67 49 2 0 49 3 4 15 99 7 88 7 89 65 67 49 2 0 49 3 4 15 99 7 90 7 91 65 67 49 2 0 49 3 4 15 99 7 92 7 93 65 67 49 2 0 49 3 4 15 99 7 94 7 95 65 67 49 2 0 49 3 4 15 99 7 96 7 97 65 67 49 2 0 49 3 4 15 99 7 98 7 99 65 67 49 2 0 49 3 4 15 99 7 100 7 101 65 67 49 2 0 49 3 4 15 99 7 102 7 103 65 67 49 2 0 49 3 4 15 99 7 104 7 105 65 67 49 2 0 49 3 4 15 99 7 106 7 107 65 67 49 2 0 49 3 4 15 99 7 108 7 109 65 67 49 2 0 49 3 4 15 99 7 110 7 111 65 67 49 2 0 49 3 4 15 99 7 112 7 113 65 67 49 2 0 49 3 4 15 99 7 114 7 115 65 67 49 2 0 49 3 4 15 99 7 116 7 117 65 67 49 2 0 49 3 4 15 99 7 118 7 119 65 67 49 2 0 49 3 4 15 99 7 120 7 121 65 67 49 2 0 49 3 4 15 99 7 122 7 123 65 67 49 2 0 49 3 4 15 99 7 124 7 125 65 67 49 2 0 49 3 4 15 99 7 126 7 127 65 67 49 2 0 49 3 4 15 99 7 128 7 129 65 67 49 2 0 49 3 4 15 99 7 130 7 131 65 67 49 2 0 49 3 4 15 99 7 132 7 133 65 67 49 2 0 49 3 4 15 5 48 134 15 99 7 135 7 136 65 67 49 2 0 49 3 4 11 I 5 I 0 I 0 I 0 n p 137 x 10 test_basic M 1 n n x 10 test_basic i 68 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 23 .foo, .bar { a: b; } s 32 .foo {a: b} .bar {@extend .foo} x 6 render x 12 assert_equal s 32 .bar {@extend .foo} .foo {a: b} s 41 .foo, .bar { a: b; } .bar { c: d; } s 38 .foo {a: b} .bar {c: d; @extend .foo} s 38 .foo {a: b} .bar {@extend .foo; c: d} p 11 I -1 I 5 I 0 I 6 I 11 I e I 22 I 16 I 33 I 21 I 44 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 17 method_visibility x 15 add_defn_method x 20 test_indented_syntax M 1 n n x 20 test_indented_syntax i 66 5 7 0 64 5 7 1 64 44 43 2 79 49 3 1 13 7 4 7 5 49 6 2 15 47 49 7 2 47 49 8 2 15 5 7 0 64 5 7 9 64 44 43 2 79 49 3 1 13 7 4 7 5 49 6 2 15 47 49 7 2 47 49 8 2 11 I 8 I 0 I 0 I 0 n p 10 s 23 .foo, .bar { a: b; } s 32 .foo a: b .bar @extend .foo x 4 Hash x 16 new_from_literal x 6 syntax x 4 sass x 3 []= x 6 render x 12 assert_equal s 37 .foo a: b .bar @extend #{".foo"} p 7 I -1 I 2d I 0 I 2e I 21 I 38 I 42 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 21 test_multiple_targets M 1 n n x 21 test_multiple_targets i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 59 .foo, .bar { a: b; } .blip .foo, .blip .bar { c: d; } s 50 .foo {a: b} .bar {@extend .foo} .blip .foo {c: d} x 6 render x 12 assert_equal p 5 I -1 I 43 I 0 I 44 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 23 test_multiple_extendees M 1 n n x 23 test_multiple_extendees i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 47 .foo, .baz { a: b; } .bar, .baz { c: d; } s 58 .foo {a: b} .bar {c: d} .baz {@extend .foo; @extend .bar} x 6 render x 12 assert_equal p 5 I -1 I 51 I 0 I 52 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 60 test_multiple_extends_with_single_extender_and_single_target M 1 n n x 60 test_multiple_extends_with_single_extender_and_single_target i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 55 .foo .bar, .baz .bar, .foo .baz, .baz .baz { a: b; } s 51 .foo .bar {a: b} .baz {@extend .foo; @extend .bar} x 6 render x 12 assert_equal s 27 .foo.bar, .baz { a: b; } s 50 .foo.bar {a: b} .baz {@extend .foo; @extend .bar} p 7 I -1 I 5f I 0 I 60 I 11 I 68 I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 63 test_multiple_extends_with_multiple_extenders_and_single_target M 1 n n x 63 test_multiple_extends_with_multiple_extenders_and_single_target i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 57 .foo .bar, .baz .bar, .foo .bang, .baz .bang { a: b; } s 58 .foo .bar {a: b} .baz {@extend .foo} .bang {@extend .bar} x 6 render x 12 assert_equal s 53 .foo.bar, .bar.baz, .baz.bang, .foo.bang { a: b; } s 57 .foo.bar {a: b} .baz {@extend .foo} .bang {@extend .bar} p 7 I -1 I 71 I 0 I 72 I 11 I 7b I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 20 test_chained_extends M 1 n n x 20 test_chained_extends i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 35 .foo, .bar, .baz, .bip { a: b; } s 72 .foo {a: b} .bar {@extend .foo} .baz {@extend .bar} .bip {@extend .bar} x 6 render x 12 assert_equal p 5 I -1 I 85 I 0 I 86 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 21 test_dynamic_extendee M 1 n n x 21 test_dynamic_extendee i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 23 .foo, .bar { a: b; } s 37 .foo {a: b} .bar {@extend #{".foo"}} x 6 render x 12 assert_equal s 36 [baz^="blip12px"], .bar { a: b; } s 61 [baz^="blip12px"] {a: b} .bar {@extend [baz^="blip#{12px}"]} p 7 I -1 I 91 I 0 I 92 I 11 I 9a I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 18 test_nested_target M 1 n n x 18 test_nested_target i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 33 .foo .bar, .foo .baz { a: b; } s 37 .foo .bar {a: b} .baz {@extend .bar} x 6 render x 12 assert_equal p 5 I -1 I a3 I 0 I a4 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 22 test_target_with_child M 1 n n x 22 test_target_with_child i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 33 .foo .bar, .baz .bar { a: b; } s 37 .foo .bar {a: b} .baz {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I ad I 0 I ae I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 22 test_class_unification M 1 n n x 22 test_class_unification i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 31 .foo.bar, .bar.baz { a: b; } s 36 .foo.bar {a: b} .baz {@extend .foo} x 6 render x 12 assert_equal s 17 .baz { a: b; } s 36 .foo.baz {a: b} .baz {@extend .foo} p 7 I -1 I b7 I 0 I b8 I 11 I c0 I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 19 test_id_unification M 1 n n x 19 test_id_unification i 51 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 31 .foo.bar, .bar#baz { a: b; } s 36 .foo.bar {a: b} #baz {@extend .foo} x 6 render x 12 assert_equal s 17 #baz { a: b; } s 36 .foo#baz {a: b} #baz {@extend .foo} s 21 .foo#baz { a: b; } s 36 .foo#baz {a: b} #bar {@extend .foo} p 9 I -1 I c9 I 0 I ca I 11 I d2 I 22 I da I 33 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 45 test_universal_unification_with_simple_target M 1 n n x 45 test_universal_unification_with_simple_target i 85 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 8 64 47 49 2 1 47 49 3 2 15 5 7 9 64 5 7 10 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 11 s 20 .foo, * { a: b; } s 29 .foo {a: b} * {@extend .foo} x 6 render x 12 assert_equal s 22 .foo, *|* { a: b; } s 31 .foo {a: b} *|* {@extend .foo} s 17 .bar { a: b; } s 33 .foo.bar {a: b} * {@extend .foo} s 35 .foo.bar {a: b} *|* {@extend .foo} s 31 .foo.bar, ns|*.bar { a: b; } s 36 .foo.bar {a: b} ns|* {@extend .foo} p 13 I -1 I e3 I 0 I e4 I 11 I ec I 22 I f4 I 33 I fc I 44 I 104 I 55 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 62 test_universal_unification_with_namespaceless_universal_target M 1 n n x 62 test_universal_unification_with_namespaceless_universal_target i 102 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 7 64 5 7 8 64 47 49 2 1 47 49 3 2 15 5 7 9 64 5 7 10 64 47 49 2 1 47 49 3 2 15 5 7 11 64 5 7 12 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 13 s 14 * { a: b; } s 30 *.foo {a: b} * {@extend .foo} x 6 render x 12 assert_equal s 32 *.foo {a: b} *|* {@extend .foo} s 23 *|*.foo, * { a: b; } s 32 *|*.foo {a: b} * {@extend .foo} s 16 *|* { a: b; } s 34 *|*.foo {a: b} *|* {@extend .foo} s 24 *.foo, ns|* { a: b; } s 33 *.foo {a: b} ns|* {@extend .foo} s 26 *|*.foo, ns|* { a: b; } s 35 *|*.foo {a: b} ns|* {@extend .foo} p 15 I -1 I 10d I 0 I 10e I 11 I 116 I 22 I 11e I 33 I 126 I 44 I 12e I 55 I 136 I 66 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 59 test_universal_unification_with_namespaced_universal_target M 1 n n x 59 test_universal_unification_with_namespaced_universal_target i 68 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 17 ns|* { a: b; } s 33 ns|*.foo {a: b} * {@extend .foo} x 6 render x 12 assert_equal s 35 ns|*.foo {a: b} *|* {@extend .foo} s 22 ns1|*.foo { a: b; } s 38 ns1|*.foo {a: b} ns2|* {@extend .foo} s 36 ns|*.foo {a: b} ns|* {@extend .foo} p 11 I -1 I 13f I 0 I 140 I 11 I 148 I 22 I 150 I 33 I 158 I 44 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 60 test_universal_unification_with_namespaceless_element_target M 1 n n x 60 test_universal_unification_with_namespaceless_element_target i 102 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 7 64 5 7 8 64 47 49 2 1 47 49 3 2 15 5 7 9 64 5 7 10 64 47 49 2 1 47 49 3 2 15 5 7 11 64 5 7 12 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 13 s 14 a { a: b; } s 30 a.foo {a: b} * {@extend .foo} x 6 render x 12 assert_equal s 32 a.foo {a: b} *|* {@extend .foo} s 23 *|a.foo, a { a: b; } s 32 *|a.foo {a: b} * {@extend .foo} s 16 *|a { a: b; } s 34 *|a.foo {a: b} *|* {@extend .foo} s 24 a.foo, ns|a { a: b; } s 33 a.foo {a: b} ns|* {@extend .foo} s 26 *|a.foo, ns|a { a: b; } s 35 *|a.foo {a: b} ns|* {@extend .foo} p 15 I -1 I 161 I 0 I 162 I 11 I 16a I 22 I 172 I 33 I 17a I 44 I 182 I 55 I 18a I 66 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 57 test_universal_unification_with_namespaced_element_target M 1 n n x 57 test_universal_unification_with_namespaced_element_target i 68 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 17 ns|a { a: b; } s 33 ns|a.foo {a: b} * {@extend .foo} x 6 render x 12 assert_equal s 35 ns|a.foo {a: b} *|* {@extend .foo} s 22 ns1|a.foo { a: b; } s 38 ns1|a.foo {a: b} ns2|* {@extend .foo} s 36 ns|a.foo {a: b} ns|* {@extend .foo} p 11 I -1 I 193 I 0 I 194 I 11 I 19c I 22 I 1a4 I 33 I 1ac I 44 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 43 test_element_unification_with_simple_target M 1 n n x 43 test_element_unification_with_simple_target i 68 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 15 5 7 8 64 5 7 9 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 10 s 20 .foo, a { a: b; } s 29 .foo {a: b} a {@extend .foo} x 6 render x 12 assert_equal s 28 .foo.bar, a.bar { a: b; } s 33 .foo.bar {a: b} a {@extend .foo} s 30 .foo.bar, *|a.bar { a: b; } s 35 .foo.bar {a: b} *|a {@extend .foo} s 31 .foo.bar, ns|a.bar { a: b; } s 36 .foo.bar {a: b} ns|a {@extend .foo} p 11 I -1 I 1b5 I 0 I 1b6 I 11 I 1be I 22 I 1c6 I 33 I 1ce I 44 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 60 test_element_unification_with_namespaceless_universal_target M 1 n n x 60 test_element_unification_with_namespaceless_universal_target i 102 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 7 64 5 7 8 64 47 49 2 1 47 49 3 2 15 5 7 9 64 5 7 10 64 47 49 2 1 47 49 3 2 15 5 7 11 64 5 7 12 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 13 s 21 *.foo, a { a: b; } s 30 *.foo {a: b} a {@extend .foo} x 6 render x 12 assert_equal s 32 *.foo {a: b} *|a {@extend .foo} s 23 *|*.foo, a { a: b; } s 32 *|*.foo {a: b} a {@extend .foo} s 25 *|*.foo, *|a { a: b; } s 34 *|*.foo {a: b} *|a {@extend .foo} s 24 *.foo, ns|a { a: b; } s 33 *.foo {a: b} ns|a {@extend .foo} s 26 *|*.foo, ns|a { a: b; } s 35 *|*.foo {a: b} ns|a {@extend .foo} p 15 I -1 I 1d7 I 0 I 1d8 I 11 I 1e0 I 22 I 1e8 I 33 I 1f0 I 44 I 1f8 I 55 I 200 I 66 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 57 test_element_unification_with_namespaced_universal_target M 1 n n x 57 test_element_unification_with_namespaced_universal_target i 68 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 27 ns|*.foo, ns|a { a: b; } s 33 ns|*.foo {a: b} a {@extend .foo} x 6 render x 12 assert_equal s 35 ns|*.foo {a: b} *|a {@extend .foo} s 22 ns1|*.foo { a: b; } s 38 ns1|*.foo {a: b} ns2|a {@extend .foo} s 36 ns|*.foo {a: b} ns|a {@extend .foo} p 11 I -1 I 209 I 0 I 20a I 11 I 212 I 22 I 21a I 33 I 222 I 44 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 58 test_element_unification_with_namespaceless_element_target M 1 n n x 58 test_element_unification_with_namespaceless_element_target i 119 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 7 64 5 7 8 64 47 49 2 1 47 49 3 2 15 5 7 9 64 5 7 10 64 47 49 2 1 47 49 3 2 15 5 7 11 64 5 7 12 64 47 49 2 1 47 49 3 2 15 5 7 13 64 5 7 14 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 15 s 14 a { a: b; } s 30 a.foo {a: b} a {@extend .foo} x 6 render x 12 assert_equal s 32 a.foo {a: b} *|a {@extend .foo} s 23 *|a.foo, a { a: b; } s 32 *|a.foo {a: b} a {@extend .foo} s 16 *|a { a: b; } s 34 *|a.foo {a: b} *|a {@extend .foo} s 24 a.foo, ns|a { a: b; } s 33 a.foo {a: b} ns|a {@extend .foo} s 26 *|a.foo, ns|a { a: b; } s 35 *|a.foo {a: b} ns|a {@extend .foo} s 18 a.foo { a: b; } s 31 a.foo {a: b} h1 {@extend .foo} p 17 I -1 I 22b I 0 I 22c I 11 I 234 I 22 I 23c I 33 I 244 I 44 I 24c I 55 I 254 I 66 I 25c I 77 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 55 test_element_unification_with_namespaced_element_target M 1 n n x 55 test_element_unification_with_namespaced_element_target i 68 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 15 5 7 5 64 5 7 6 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 17 ns|a { a: b; } s 33 ns|a.foo {a: b} a {@extend .foo} x 6 render x 12 assert_equal s 35 ns|a.foo {a: b} *|a {@extend .foo} s 22 ns1|a.foo { a: b; } s 38 ns1|a.foo {a: b} ns2|a {@extend .foo} s 36 ns|a.foo {a: b} ns|a {@extend .foo} p 11 I -1 I 265 I 0 I 266 I 11 I 26e I 22 I 276 I 33 I 27e I 44 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 26 test_attribute_unification M 1 n n x 26 test_attribute_unification i 85 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 15 5 7 8 64 5 7 9 64 47 49 2 1 47 49 3 2 15 5 7 10 64 5 7 11 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 12 s 46 [foo=bar].baz, [foo=bar][foo=baz] { a: b; } s 46 [foo=bar].baz {a: b} [foo=baz] {@extend .baz} x 6 render x 12 assert_equal s 47 [foo=bar].baz, [foo=bar][foo^=bar] { a: b; } s 47 [foo=bar].baz {a: b} [foo^=bar] {@extend .baz} s 47 [foo=bar].baz, [foo=bar][foot=bar] { a: b; } s 47 [foo=bar].baz {a: b} [foot=bar] {@extend .baz} s 49 [foo=bar].baz, [foo=bar][ns|foo=bar] { a: b; } s 49 [foo=bar].baz {a: b} [ns|foo=bar] {@extend .baz} s 22 [foo=bar] { a: b; } s 46 [foo=bar].baz {a: b} [foo=bar] {@extend .baz} p 13 I -1 I 287 I 0 I 288 I 11 I 290 I 22 I 298 I 33 I 2a0 I 44 I 2a8 I 55 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 23 test_pseudo_unification M 1 n n x 23 test_pseudo_unification i 136 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 8 64 47 49 2 1 47 49 3 2 15 5 7 9 64 5 7 10 64 47 49 2 1 47 49 3 2 15 5 7 11 64 5 7 12 64 47 49 2 1 47 49 3 2 15 5 7 13 64 5 7 14 64 47 49 2 1 47 49 3 2 15 5 7 15 64 5 7 16 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 17 s 37 :foo.baz, :foo:foo(2n+1) { a: b; } s 42 :foo.baz {a: b} :foo(2n+1) {@extend .baz} x 6 render x 12 assert_equal s 32 :foo.baz, :foo::foo { a: b; } s 37 :foo.baz {a: b} ::foo {@extend .baz} s 22 ::foo.baz { a: b; } s 38 ::foo.baz {a: b} ::bar {@extend .baz} s 44 ::foo.baz {a: b} ::foo(2n+1) {@extend .baz} s 18 ::foo { a: b; } s 38 ::foo.baz {a: b} ::foo {@extend .baz} s 24 ::foo(2n+1) { a: b; } s 50 ::foo(2n+1).baz {a: b} ::foo(2n+1) {@extend .baz} s 31 :foo.baz, :foo:bar { a: b; } s 36 :foo.baz {a: b} :bar {@extend .baz} s 17 :foo { a: b; } s 36 :foo.baz {a: b} :foo {@extend .baz} p 19 I -1 I 2b1 I 0 I 2b2 I 11 I 2ba I 22 I 2c2 I 33 I 2ca I 44 I 2d2 I 55 I 2da I 66 I 2e2 I 77 I 2ea I 88 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 45 test_pseudoelement_remains_at_end_of_selector M 1 n n x 45 test_pseudoelement_remains_at_end_of_selector i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 33 .foo::bar, .baz::bar { a: b; } s 37 .foo::bar {a: b} .baz {@extend .foo} x 6 render x 12 assert_equal s 35 a.foo::bar, a.baz::bar { a: b; } s 38 a.foo::bar {a: b} .baz {@extend .foo} p 7 I -1 I 2f3 I 0 I 2f4 I 11 I 2fc I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 43 test_pseudoclass_remains_at_end_of_selector M 1 n n x 43 test_pseudoclass_remains_at_end_of_selector i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 31 .foo:bar, .baz:bar { a: b; } s 36 .foo:bar {a: b} .baz {@extend .foo} x 6 render x 12 assert_equal s 33 a.foo:bar, a.baz:bar { a: b; } s 37 a.foo:bar {a: b} .baz {@extend .foo} p 7 I -1 I 305 I 0 I 306 I 11 I 30e I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 35 test_not_remains_at_end_of_selector M 1 n n x 35 test_not_remains_at_end_of_selector i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 43 .foo:not(.bar), .baz:not(.bar) { a: b; } s 42 .foo:not(.bar) {a: b} .baz {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 317 I 0 I 318 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 47 test_pseudoelement_goes_lefter_than_pseudoclass M 1 n n x 47 test_pseudoelement_goes_lefter_than_pseudoclass i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 38 .foo::bar, .baz:bang::bar { a: b; } s 42 .foo::bar {a: b} .baz:bang {@extend .foo} x 6 render x 12 assert_equal s 37 .foo:bar, .baz:bar::bang { a: b; } s 42 .foo:bar {a: b} .baz::bang {@extend .foo} p 7 I -1 I 321 I 0 I 322 I 11 I 32a I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 39 test_pseudoelement_goes_lefter_than_not M 1 n n x 39 test_pseudoelement_goes_lefter_than_not i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 44 .foo::bar, .baz:not(.bang)::bar { a: b; } s 48 .foo::bar {a: b} .baz:not(.bang) {@extend .foo} x 6 render x 12 assert_equal s 50 .foo:not(.bang), .baz:not(.bang)::bar { a: b; } s 48 .foo:not(.bang) {a: b} .baz::bar {@extend .foo} p 7 I -1 I 333 I 0 I 334 I 11 I 33c I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 25 test_negation_unification M 1 n n x 25 test_negation_unification i 51 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 49 :not(.foo).baz, :not(.foo):not(.bar) { a: b; } s 48 :not(.foo).baz {a: b} :not(.bar) {@extend .baz} x 6 render x 12 assert_equal s 23 :not(.foo) { a: b; } s 48 :not(.foo).baz {a: b} :not(.foo) {@extend .baz} s 24 :not([a=b]) { a: b; } s 52 :not([a=b]).baz {a: b} :not([a = b]) {@extend .baz} p 9 I -1 I 345 I 0 I 346 I 11 I 34e I 22 I 356 I 33 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 18 test_long_extendee M 1 n n x 18 test_long_extendee i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 27 .foo.bar, .baz { a: b; } s 40 .foo.bar {a: b} .baz {@extend .foo.bar} x 6 render x 12 assert_equal p 5 I -1 I 361 I 0 I 362 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 41 test_long_extendee_requires_all_selectors M 1 n n x 41 test_long_extendee_requires_all_selectors i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 17 .foo { a: b; } s 36 .foo {a: b} .baz {@extend .foo.bar} x 6 render x 12 assert_equal p 5 I -1 I 36b I 0 I 36c I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 36 test_long_extendee_matches_supersets M 1 n n x 36 test_long_extendee_matches_supersets i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 35 .foo.bar.bap, .bap.baz { a: b; } s 44 .foo.bar.bap {a: b} .baz {@extend .foo.bar} x 6 render x 12 assert_equal p 5 I -1 I 375 I 0 I 376 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 35 test_long_extendee_runs_unification M 1 n n x 35 test_long_extendee_runs_unification i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 35 ns|*.foo.bar, ns|a.baz { a: b; } s 45 ns|*.foo.bar {a: b} a.baz {@extend .foo.bar} x 6 render x 12 assert_equal p 5 I -1 I 37f I 0 I 380 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 18 test_long_extender M 1 n n x 18 test_long_extender i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 36 .foo.bar, .bar.baz.bang { a: b; } s 41 .foo.bar {a: b} .baz.bang {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 38b I 0 I 38c I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 35 test_long_extender_runs_unification M 1 n n x 35 test_long_extender_runs_unification i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 39 ns|*.foo.bar, ns|a.bar.baz { a: b; } s 41 ns|*.foo.bar {a: b} a.baz {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 395 I 0 I 396 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 37 test_long_extender_aborts_unification M 1 n n x 37 test_long_extender_aborts_unification i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 5 s 22 a.foo#bar { a: b; } s 39 a.foo#bar {a: b} h1.baz {@extend .foo} x 6 render x 12 assert_equal s 42 a.foo#bar {a: b} .bang#baz {@extend .foo} p 7 I -1 I 39f I 0 I 3a0 I 11 I 3a8 I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 20 test_nested_extender M 1 n n x 20 test_nested_extender i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 26 .foo, foo bar { a: b; } s 35 .foo {a: b} foo bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3b3 I 0 I 3b4 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 37 test_nested_extender_runs_unification M 1 n n x 37 test_nested_extender_runs_unification i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 34 .foo.bar, foo bar.bar { a: b; } s 39 .foo.bar {a: b} foo bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3bd I 0 I 3be I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 39 test_nested_extender_aborts_unification M 1 n n x 39 test_nested_extender_aborts_unification i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 20 baz.foo { a: b; } s 38 baz.foo {a: b} foo bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3c7 I 0 I 3c8 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 39 test_nested_extender_alternates_parents M 1 n n x 39 test_nested_extender_alternates_parents i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 79 .baz .bip .foo, .baz .bip foo .grank bar, foo .grank .baz .bip bar { a: b; } s 52 .baz .bip .foo {a: b} foo .grank bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3d1 I 0 I 3d2 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 46 test_nested_extender_unifies_identical_parents M 1 n n x 46 test_nested_extender_unifies_identical_parents i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 42 .baz .bip .foo, .baz .bip bar { a: b; } s 51 .baz .bip .foo {a: b} .baz .bip bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3db I 0 I 3dc I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 45 test_nested_extender_unifies_common_substring M 1 n n x 45 test_nested_extender_unifies_common_substring i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 102 .baz .bip .bap .bink .foo, .baz .brat .bip .bap .bink bar, .brat .baz .bip .bap .bink bar { a: b; } s 68 .baz .bip .bap .bink .foo {a: b} .brat .bip .bap bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3e5 I 0 I 3e6 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 42 test_nested_extender_unifies_common_subseq M 1 n n x 42 test_nested_extender_unifies_common_subseq i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 121 .a .x .b .y .foo, .a .x .n .b .y .m bar, .a .n .x .b .y .m bar, .a .x .n .b .m .y bar, .a .n .x .b .m .y bar { a: b; } s 55 .a .x .b .y .foo {a: b} .a .n .b .m bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3ef I 0 I 3f0 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 41 test_nested_extender_chooses_first_subseq M 1 n n x 41 test_nested_extender_chooses_first_subseq i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 53 .a .b .c .d .foo, .a .b .c .d .a .b .bar { a: b; } s 56 .a .b .c .d .foo {a: b} .c .d .a .b .bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 3f9 I 0 I 3fa I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 49 test_nested_extender_counts_extended_subselectors M 1 n n x 49 test_nested_extender_counts_extended_subselectors i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 71 .a .bip.bop .foo, .a .b .bip.bop .bar, .b .a .bip.bop .bar { a: b; } s 52 .a .bip.bop .foo {a: b} .b .bip .bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 403 I 0 I 404 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 51 test_nested_extender_counts_extended_superselectors M 1 n n x 51 test_nested_extender_counts_extended_superselectors i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 67 .a .bip .foo, .a .b .bip.bop .bar, .b .a .bip.bop .bar { a: b; } s 52 .a .bip .foo {a: b} .b .bip.bop .bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 40d I 0 I 40e I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 40 test_nested_extender_with_child_selector M 1 n n x 40 test_nested_extender_with_child_selector i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 38 .baz .foo, .baz foo > bar { a: b; } s 42 .baz .foo {a: b} foo > bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 417 I 0 I 418 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 65 test_nested_extender_finds_common_selectors_around_child_selector M 1 n n x 65 test_nested_extender_finds_common_selectors_around_child_selector i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 0 64 5 7 4 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 5 s 37 a > b c .c1, a > b c .c2 { a: b; } s 41 a > b c .c1 {a: b} a c .c2 {@extend .c1} x 6 render x 12 assert_equal s 41 a > b c .c1 {a: b} b c .c2 {@extend .c1} p 7 I -1 I 421 I 0 I 422 I 11 I 42a I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 82 test_nested_extender_doesnt_find_common_selectors_around_adjacent_sibling_selector M 1 n n x 82 test_nested_extender_doesnt_find_common_selectors_around_adjacent_sibling_selector i 51 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 54 a + b c .c1, a + b a c .c2, a a + b c .c2 { a: b; } s 41 a + b c .c1 {a: b} a c .c2 {@extend .c1} x 6 render x 12 assert_equal s 39 a + b c .c1, a a + b c .c2 { a: b; } s 41 a + b c .c1 {a: b} a b .c2 {@extend .c1} s 37 a + b c .c1, a + b c .c2 { a: b; } s 41 a + b c .c1 {a: b} b c .c2 {@extend .c1} p 9 I -1 I 433 I 0 I 434 I 11 I 43c I 22 I 444 I 33 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 73 test_nested_extender_doesnt_find_common_selectors_around_sibling_selector M 1 n n x 73 test_nested_extender_doesnt_find_common_selectors_around_sibling_selector i 51 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 15 5 7 6 64 5 7 7 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 8 s 54 a ~ b c .c1, a ~ b a c .c2, a a ~ b c .c2 { a: b; } s 41 a ~ b c .c1 {a: b} a c .c2 {@extend .c1} x 6 render x 12 assert_equal s 39 a ~ b c .c1, a a ~ b c .c2 { a: b; } s 41 a ~ b c .c1 {a: b} a b .c2 {@extend .c1} s 37 a ~ b c .c1, a ~ b c .c2 { a: b; } s 41 a ~ b c .c1 {a: b} b c .c2 {@extend .c1} p 9 I -1 I 44d I 0 I 44e I 11 I 456 I 22 I 45e I 33 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 66 test_nested_extender_with_early_child_selectors_doesnt_subseq_them M 1 n n x 66 test_nested_extender_with_early_child_selectors_doesnt_subseq_them i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 91 .bip > .bap .foo, .bip > .bap .grip > .bap .bar, .grip > .bap .bip > .bap .bar { a: b; } s 57 .bip > .bap .foo {a: b} .grip > .bap .bar {@extend .foo} x 6 render x 12 assert_equal s 91 .bap > .bip .foo, .bap > .bip .bap > .grip .bar, .bap > .grip .bap > .bip .bar { a: b; } s 57 .bap > .bip .foo {a: b} .bap > .grip .bar {@extend .foo} p 7 I -1 I 467 I 0 I 468 I 11 I 470 I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 48 test_nested_extender_with_child_selector_unifies M 1 n n x 48 test_nested_extender_with_child_selector_unifies i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 36 .baz.foo, foo > bar.baz { a: b; } s 41 .baz.foo {a: b} foo > bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 479 I 0 I 47a I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 49 test_nested_extender_with_trailing_child_selector M 1 n n x 49 test_nested_extender_with_trailing_child_selector i 16 5 45 0 1 43 2 7 3 64 56 4 47 50 5 2 11 I 4 I 0 I 0 I 0 n p 6 x 4 Sass n x 11 SyntaxError s 36 bar > can't extend: invalid selector M 1 p 2 x 9 for_block t n x 49 test_nested_extender_with_trailing_child_selector i 9 5 7 0 64 47 49 1 1 11 I 3 I 0 I 0 I 0 I -2 p 2 s 20 bar > {@extend .baz} x 6 render p 3 I 0 I 485 I 9 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 12 assert_raise p 5 I -1 I 483 I 0 I 484 I 10 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 42 test_nested_extender_with_sibling_selector M 1 n n x 42 test_nested_extender_with_sibling_selector i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 38 .baz .foo, .baz foo + bar { a: b; } s 42 .baz .foo {a: b} foo + bar {@extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 489 I 0 I 48a I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 40 test_nested_extender_with_hacky_selector M 1 n n x 40 test_nested_extender_with_hacky_selector i 34 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 15 5 7 4 64 5 7 5 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 6 s 44 .baz .foo, .baz foo + > > + bar { a: b; } s 48 .baz .foo {a: b} foo + > > + bar {@extend .foo} x 6 render x 12 assert_equal s 36 .baz .foo, .baz > > bar { a: b; } s 40 .baz .foo {a: b} > > bar {@extend .foo} p 7 I -1 I 493 I 0 I 494 I 11 I 49c I 22 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 46 test_nested_extender_merges_with_same_selector M 1 n n x 46 test_nested_extender_merges_with_same_selector i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 33 .foo .bar, .foo .baz { a: b; } s 45 .foo { .bar {a: b} .baz {@extend .bar} } x 6 render x 12 assert_equal p 5 I -1 I 4a5 I 0 I 4a6 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 66 test_nested_extender_with_child_selector_merges_with_same_selector M 1 n n x 66 test_nested_extender_with_child_selector_merges_with_same_selector i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 48 .foo > .bar .baz, .foo > .bar .bang { a: b; } s 57 .foo > .bar .baz {a: b} .foo > .bar .bang {@extend .baz} x 6 render x 12 assert_equal p 5 I -1 I 4b0 I 0 I 4b1 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 21 test_extend_self_loop M 1 n n x 21 test_extend_self_loop i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 17 .foo { a: b; } s 26 .foo {a: b; @extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 4bc I 0 I 4bd I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 22 test_basic_extend_loop M 1 n n x 22 test_basic_extend_loop i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 47 .bar, .foo { a: b; } .foo, .bar { c: d; } s 52 .foo {a: b; @extend .bar} .bar {c: d; @extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 4c5 I 0 I 4c6 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 28 test_three_level_extend_loop M 1 n n x 28 test_three_level_extend_loop i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 89 .baz, .bar, .foo { a: b; } .foo, .baz, .bar { c: d; } .bar, .foo, .baz { e: f; } s 78 .foo {a: b; @extend .bar} .bar {c: d; @extend .baz} .baz {e: f; @extend .foo} x 6 render x 12 assert_equal p 5 I -1 I 4d2 I 0 I 4d3 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 23 test_nested_extend_loop M 1 n n x 23 test_nested_extend_loop i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 70 .bar, .bar .foo { a: b; } .bar .foo, .bar .foo .foo { c: d; } s 45 .bar { a: b; .foo {c: d; @extend .bar} } x 6 render x 12 assert_equal p 5 I -1 I 4e3 I 0 I 4e4 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 52 test_multiple_extender_merges_with_superset_selector M 1 n n x 52 test_multiple_extender_merges_with_superset_selector i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 29 a.bar.baz, a.foo { a: b; } s 51 .foo {@extend .bar; @extend .baz} a.bar.baz {a: b} x 6 render x 12 assert_equal p 5 I -1 I 4f1 I 0 I 4f2 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 20 test_control_flow_if M 1 n n x 20 test_control_flow_if i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 77 .true, .also-true { color: green; } .false, .also-false { color: red; } s 207 .true { color: green; } .false { color: red; } .also-true { @if true { @extend .true; } @else { @extend .false; } } .also-false { @if false { @extend .true; } @else { @extend .false; } } x 6 render x 12 assert_equal p 5 I -1 I 4fb I 0 I 4fc I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 21 test_control_flow_for M 1 n n x 21 test_control_flow_for i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 122 .base-0, .added { color: green; } .base-1, .added { display: block; } .base-2, .added { border: 1px solid blue; } s 157 .base-0 { color: green; } .base-1 { display: block; } .base-2 { border: 1px solid blue; } .added { @for $i from 0 to 3 { @extend .base-#{$i}; } } x 6 render x 12 assert_equal p 5 I -1 I 510 I 0 I 511 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 23 test_control_flow_while M 1 n n x 23 test_control_flow_while i 17 5 7 0 64 5 7 1 64 47 49 2 1 47 49 3 2 11 I 4 I 0 I 0 I 0 n p 4 s 122 .base-0, .added { color: green; } .base-1, .added { display: block; } .base-2, .added { border: 1px solid blue; } s 178 .base-0 { color: green; } .base-1 { display: block; } .base-2 { border: 1px solid blue; } .added { $i : 0; @while $i < 3 { @extend .base-#{$i}; $i : $i + 1; } } x 6 render x 12 assert_equal p 5 I -1 I 526 I 0 I 527 I 11 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 7 private x 6 render M 1 n n x 6 render i 98 23 1 10 14 44 43 0 78 49 1 1 19 1 15 5 20 1 47 49 2 1 15 45 3 4 43 5 13 71 6 47 9 68 47 49 7 0 13 20 0 44 43 0 79 49 1 1 13 7 8 7 9 49 10 2 15 20 1 49 11 1 47 49 12 2 15 8 94 20 0 44 43 0 79 49 1 1 13 7 8 7 9 49 10 2 15 20 1 49 11 1 49 6 2 49 13 0 11 I 9 I 2 I 1 I 2 n p 14 x 4 Hash x 16 new_from_literal x 14 munge_filename x 4 Sass n x 6 Engine x 3 new x 8 allocate x 6 syntax x 4 scss x 3 []= x 5 merge x 10 initialize x 6 render p 7 I -1 I 540 I e I 541 I 16 I 542 I 62 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 2 x 4 sass x 7 options p 137 I 2 I 5 I 10 I 2d I 1e I 43 I 2c I 51 I 3a I 5f I 48 I 71 I 56 I 85 I 64 I 91 I 72 I a3 I 80 I ad I 8e I b7 I 9c I c9 I aa I e3 I b8 I 10d I c6 I 13f I d4 I 161 I e2 I 193 I f0 I 1b5 I fe I 1d7 I 10c I 209 I 11a I 22b I 128 I 265 I 136 I 287 I 144 I 2b1 I 152 I 2f3 I 160 I 305 I 16e I 317 I 17c I 321 I 18a I 333 I 198 I 345 I 1a6 I 361 I 1b4 I 36b I 1c2 I 375 I 1d0 I 37f I 1de I 38b I 1ec I 395 I 1fa I 39f I 208 I 3b3 I 216 I 3bd I 224 I 3c7 I 232 I 3d1 I 240 I 3db I 24e I 3e5 I 25c I 3ef I 26a I 3f9 I 278 I 403 I 286 I 40d I 294 I 417 I 2a2 I 421 I 2b0 I 433 I 2be I 44d I 2cc I 467 I 2da I 479 I 2e8 I 483 I 2f6 I 489 I 304 I 493 I 312 I 4a5 I 320 I 4b0 I 32e I 4bc I 33c I 4c5 I 34a I 4d2 I 358 I 4e3 I 366 I 4f1 I 374 I 4fb I 382 I 510 I 390 I 526 I 39e I 53e I 3a2 I 540 I 3b0 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0 x 13 attach_method p 5 I 0 I 2 I 15 I 4 I 38 x 51 /Users/chris/Projects/sass/test/sass/extend_test.rb p 0