Index: packages/csslib/test/mixin_test.dart |
diff --git a/packages/csslib/test/mixin_test.dart b/packages/csslib/test/mixin_test.dart |
index c94c9c018d5f5e3b63525e7eb08581b6d69db277..375054cef7bb0a4179ac09917dd66de756a317d6 100644 |
--- a/packages/csslib/test/mixin_test.dart |
+++ b/packages/csslib/test/mixin_test.dart |
@@ -4,12 +4,13 @@ |
library mixin_test; |
+import 'package:csslib/src/messages.dart'; |
import 'package:test/test.dart'; |
import 'testing.dart'; |
compileAndValidate(String input, String generated) { |
- var errors = []; |
+ var errors = <Message>[]; |
var stylesheet = compileCss(input, errors: errors, opts: options); |
expect(stylesheet != null, true); |
expect(errors.isEmpty, true, reason: errors.toString()); |
@@ -17,7 +18,7 @@ compileAndValidate(String input, String generated) { |
} |
compilePolyfillAndValidate(String input, String generated) { |
- var errors = []; |
+ var errors = <Message>[]; |
var stylesheet = polyFillCompileCss(input, errors: errors, opts: options); |
expect(stylesheet != null, true); |
expect(errors.isEmpty, true, reason: errors.toString()); |
@@ -25,7 +26,8 @@ compilePolyfillAndValidate(String input, String generated) { |
} |
void topLevelMixin() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin silly-links { |
a { |
color: blue; |
@@ -34,14 +36,17 @@ void topLevelMixin() { |
} |
@include silly-links; |
-''', r'''a { |
+''', |
+ r''' |
+a { |
color: #00f; |
background-color: #f00; |
}'''); |
} |
void topLevelMixinTwoIncludes() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin a { |
a { |
color: blue; |
@@ -56,7 +61,9 @@ void topLevelMixinTwoIncludes() { |
} |
@include a; |
@include b; |
-''', r'''a { |
+''', |
+ r''' |
+a { |
color: #00f; |
background-color: #f00; |
} |
@@ -68,7 +75,8 @@ span { |
/** Tests top-level mixins that includes another mixin. */ |
void topLevelMixinMultiRulesets() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin a { |
a { |
color: blue; |
@@ -90,7 +98,9 @@ void topLevelMixinMultiRulesets() { |
} |
@include a; |
@include c; |
-''', r'''a { |
+''', |
+ r''' |
+a { |
color: #00f; |
background-color: #f00; |
} |
@@ -105,7 +115,8 @@ span { |
} |
void topLevelMixinDeeplyNestedRulesets() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin a { |
a { |
color: blue; |
@@ -145,7 +156,9 @@ void topLevelMixinDeeplyNestedRulesets() { |
@include d; |
} |
@include c; |
-''', r'''a { |
+''', |
+ r''' |
+a { |
color: #00f; |
background-color: #f00; |
} |
@@ -170,7 +183,8 @@ a:hover { |
/** Tests selector groups and other combinators. */ |
void topLevelMixinSelectors() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin a { |
a, b { |
color: blue; |
@@ -183,7 +197,9 @@ void topLevelMixinSelectors() { |
} |
@include a; |
-''', r'''a, b { |
+''', |
+ r''' |
+a, b { |
color: #00f; |
background-color: #f00; |
} |
@@ -194,20 +210,24 @@ div > span { |
} |
void declSimpleMixin() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin div-border { |
border: 2px dashed red; |
} |
div { |
@include div-border; |
} |
-''', r'''div { |
+''', |
+ r''' |
+div { |
border: 2px dashed #f00; |
}'''); |
} |
void declMixinTwoIncludes() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin div-border { |
border: 2px dashed red; |
} |
@@ -218,14 +238,17 @@ div { |
@include div-border; |
@include div-color; |
} |
-''', r'''div { |
+''', |
+ r''' |
+div { |
border: 2px dashed #f00; |
color: #00f; |
}'''); |
} |
void declMixinNestedIncludes() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin div-border { |
border: 2px dashed red; |
} |
@@ -244,7 +267,9 @@ div { |
@include div-border; |
@include div-color; |
} |
-''', r'''div { |
+''', |
+ r''' |
+div { |
border: 2px dashed #f00; |
padding: .5em; |
color: #00f; |
@@ -253,7 +278,8 @@ div { |
} |
void declMixinDeeperNestedIncludes() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin div-border { |
border: 2px dashed red; |
} |
@@ -271,7 +297,9 @@ div { |
@include div-border; |
@include div-color; |
} |
-''', r'''div { |
+''', |
+ r''' |
+div { |
border: 2px dashed #f00; |
padding: .5em; |
margin: 5px; |
@@ -279,7 +307,8 @@ div { |
} |
void mixinArg() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin div-border-1 { |
border: 2px dashed red; |
} |
@@ -308,7 +337,9 @@ div-3 { |
div-4 { |
@include div-border-2; |
} |
-''', r'''div-1 { |
+''', |
+ r''' |
+div-1 { |
margin-left: 10px; |
margin-right: 100px; |
border: 2px dashed #f00; |
@@ -327,7 +358,8 @@ div-4 { |
} |
void mixinArgs() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin box-shadow(@shadows...) { |
-moz-box-shadow: @shadows; |
-webkit-box-shadow: @shadows; |
@@ -336,7 +368,8 @@ void mixinArgs() { |
.shadows { |
@include box-shadow(0px 4px 5px #666, 2px 6px 10px #999); |
-}''', r''' |
+}''', |
+ r''' |
.shadowed { |
-moz-box-shadow: 0px 4px 5px #666, 2px 6px 10px #999; |
-webkit-box-shadow: 0px 4px 5px #666, 2px 6px 10px #999; |
@@ -346,7 +379,8 @@ void mixinArgs() { |
} |
void mixinManyArgs() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin border(@border-values) { |
border: @border-values |
} |
@@ -354,12 +388,14 @@ void mixinManyArgs() { |
.primary { |
@include border(3px solid green); |
} |
-''', r''' |
+''', |
+ r''' |
.primary { |
border: 3px solid #008000; |
}'''); |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin setup(@border-color, @border-style, @border-size, @color) { |
border: @border-size @border-style @border-color; |
color: @color; |
@@ -368,14 +404,16 @@ void mixinManyArgs() { |
.primary { |
@include setup(red, solid, 5px, blue); |
} |
-''', r''' |
+''', |
+ r''' |
.primary { |
border: 5px solid #f00; |
color: #00f; |
}'''); |
// Test passing a declaration that is multiple parameters. |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin colors(@text, @background, @border) { |
color: @text; |
background-color: @background; |
@@ -386,7 +424,9 @@ void mixinManyArgs() { |
.primary { |
@include colors(@values); |
} |
-''', r'''var-values: #f00, #0f0, #00f; |
+''', |
+ r''' |
+var-values: #f00, #0f0, #00f; |
.primary { |
color: #f00; |
@@ -394,7 +434,8 @@ void mixinManyArgs() { |
border-color: #00f; |
}'''); |
- compilePolyfillAndValidate(r''' |
+ compilePolyfillAndValidate( |
+ r''' |
@mixin colors(@text, @background, @border) { |
color: @text; |
background-color: @background; |
@@ -405,7 +446,9 @@ void mixinManyArgs() { |
.primary { |
@include colors(@values); |
} |
-''', r'''.primary { |
+''', |
+ r''' |
+.primary { |
color: #f00; |
background-color: #0f0; |
border-color: #00f; |
@@ -413,7 +456,7 @@ void mixinManyArgs() { |
} |
void badDeclarationInclude() { |
- final errors = []; |
+ final errors = <Message>[]; |
final input = r''' |
@mixin a { |
#foo-id { |
@@ -441,7 +484,7 @@ void badDeclarationInclude() { |
} |
void badTopInclude() { |
- final errors = []; |
+ final errors = <Message>[]; |
final input = r''' |
@mixin b { |
color: red; |
@@ -467,7 +510,7 @@ void badTopInclude() { |
} |
void emptyMixin() { |
- final errors = []; |
+ final errors = <Message>[]; |
final input = r''' |
@mixin a { |
} |
@@ -480,7 +523,8 @@ div { |
} |
'''; |
- var generated = r'''div { |
+ var generated = r''' |
+div { |
border: 2px dashed #f00; |
}'''; |
@@ -492,7 +536,7 @@ div { |
} |
void undefinedTopLevel() { |
- final errors = []; |
+ final errors = <Message>[]; |
final input = r''' |
@mixin a { |
@include b; |
@@ -520,7 +564,7 @@ void undefinedTopLevel() { |
} |
void undefinedDeclaration() { |
- final errors = []; |
+ final errors = <Message>[]; |
final input = r''' |
@mixin a { |
@include b; |
@@ -546,7 +590,8 @@ div { |
} |
void includeGrammar() { |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin a { |
foo { color: red } |
} |
@@ -557,14 +602,17 @@ void includeGrammar() { |
} |
@include b; |
-''', r'''foo { |
+''', |
+ r''' |
+foo { |
color: #f00; |
} |
foo { |
color: #f00; |
}'''); |
- compileAndValidate(r''' |
+ compileAndValidate( |
+ r''' |
@mixin a { |
color: red |
} |
@@ -573,12 +621,14 @@ foo { |
@include a; |
@include a |
} |
-''', r'''foo { |
+''', |
+ r''' |
+foo { |
color: #f00; |
color: #f00; |
}'''); |
- var errors = []; |
+ var errors = <Message>[]; |
var input = r''' |
@mixin a { |
foo { color: red } |