sass 3.1.0.alpha.15 → 3.1.0.alpha.16
Sign up to get free protection for your applications and to get access to all the features.
- data/EDGE_GEM_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/sass/engine.rb +2 -2
- data/lib/sass/script/funcall.rb +49 -8
- data/lib/sass/script/functions.rb +189 -57
- data/lib/sass/script/node.rb +7 -1
- data/lib/sass/script/parser.rb +52 -17
- data/lib/sass/script/variable.rb +6 -0
- data/lib/sass/scss/parser.rb +2 -2
- data/lib/sass/tree/mixin_node.rb +25 -5
- data/test/sass/conversion_test.rb +14 -0
- data/test/sass/engine_test.rb +75 -0
- data/test/sass/functions_test.rb +87 -0
- data/test/sass/script_conversion_test.rb +5 -0
- data/test/sass/scss/scss_test.rb +63 -0
- metadata +2 -2
@@ -53,6 +53,11 @@ class SassScriptConversionTest < Test::Unit::TestCase
|
|
53
53
|
assert_renders "-foo(12px)"
|
54
54
|
end
|
55
55
|
|
56
|
+
def test_funcall_with_keyword_args
|
57
|
+
assert_renders "foo(arg1, arg2, $karg1: val, $karg2: val2)"
|
58
|
+
assert_renders "foo($karg1: val, $karg2: val2)"
|
59
|
+
end
|
60
|
+
|
56
61
|
def test_url
|
57
62
|
assert_renders "url(foo.gif)"
|
58
63
|
assert_renders "url($var)"
|
data/test/sass/scss/scss_test.rb
CHANGED
@@ -1072,6 +1072,69 @@ ul li\#{$bar} a span.label { foo: bar; }
|
|
1072
1072
|
SCSS
|
1073
1073
|
end
|
1074
1074
|
|
1075
|
+
def test_mixin_with_keyword_args
|
1076
|
+
assert_equal <<CSS, render(<<SCSS)
|
1077
|
+
.mixed {
|
1078
|
+
required: foo;
|
1079
|
+
arg1: default-val1;
|
1080
|
+
arg2: non-default-val2; }
|
1081
|
+
CSS
|
1082
|
+
@mixin a-mixin($required, $arg1: default-val1, $arg2: default-val2) {
|
1083
|
+
required: $required;
|
1084
|
+
arg1: $arg1;
|
1085
|
+
arg2: $arg2;
|
1086
|
+
}
|
1087
|
+
.mixed { @include a-mixin(foo, $arg2: non-default-val2); }
|
1088
|
+
SCSS
|
1089
|
+
end
|
1090
|
+
|
1091
|
+
def test_passing_required_args_as_a_keyword_arg
|
1092
|
+
assert_equal <<CSS, render(<<SCSS)
|
1093
|
+
.mixed {
|
1094
|
+
required: foo;
|
1095
|
+
arg1: default-val1;
|
1096
|
+
arg2: default-val2; }
|
1097
|
+
CSS
|
1098
|
+
@mixin a-mixin($required, $arg1: default-val1, $arg2: default-val2) {
|
1099
|
+
required: $required;
|
1100
|
+
arg1: $arg1;
|
1101
|
+
arg2: $arg2; }
|
1102
|
+
.mixed { @include a-mixin($required: foo); }
|
1103
|
+
SCSS
|
1104
|
+
end
|
1105
|
+
|
1106
|
+
def test_passing_all_as_keyword_args_in_opposite_order
|
1107
|
+
assert_equal <<CSS, render(<<SCSS)
|
1108
|
+
.mixed {
|
1109
|
+
required: foo;
|
1110
|
+
arg1: non-default-val1;
|
1111
|
+
arg2: non-default-val2; }
|
1112
|
+
CSS
|
1113
|
+
@mixin a-mixin($required, $arg1: default-val1, $arg2: default-val2) {
|
1114
|
+
required: $required;
|
1115
|
+
arg1: $arg1;
|
1116
|
+
arg2: $arg2; }
|
1117
|
+
.mixed { @include a-mixin($arg2: non-default-val2, $arg1: non-default-val1, $required: foo); }
|
1118
|
+
SCSS
|
1119
|
+
end
|
1120
|
+
|
1121
|
+
def test_keyword_args_in_functions
|
1122
|
+
assert_equal <<CSS, render(<<SCSS)
|
1123
|
+
.keyed {
|
1124
|
+
color: rgba(170, 119, 204, 0.4); }
|
1125
|
+
CSS
|
1126
|
+
.keyed { color: rgba($color: #a7c, $alpha: 0.4) }
|
1127
|
+
SCSS
|
1128
|
+
end
|
1129
|
+
|
1130
|
+
def test_unknown_keyword_arg_raises_error
|
1131
|
+
assert_raise_message(Sass::SyntaxError, "Mixin a doesn't have an argument named $c") {render <<SCSS}
|
1132
|
+
@mixin a($b: 1) { a: $b; }
|
1133
|
+
div { @include a(1, $c: 3); }
|
1134
|
+
SCSS
|
1135
|
+
end
|
1136
|
+
|
1137
|
+
|
1075
1138
|
def test_newlines_removed_from_selectors_when_compressed
|
1076
1139
|
assert_equal <<CSS, render(<<SCSS, :style=>:compressed)
|
1077
1140
|
z a,z b{display:block}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.0.alpha.
|
4
|
+
version: 3.1.0.alpha.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Weizenbaum
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2010-10-
|
14
|
+
date: 2010-10-05 00:00:00 -04:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|