haml-edge 2.3.190 → 2.3.191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/EDGE_GEM_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/haml/exec.rb +1 -1
- data/lib/sass/script/operation.rb +1 -1
- data/lib/sass/scss/parser.rb +9 -19
- data/test/sass/scss/scss_test.rb +11 -0
- metadata +2 -2
data/EDGE_GEM_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.191
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.191
|
data/lib/haml/exec.rb
CHANGED
@@ -84,7 +84,7 @@ module Sass::Script
|
|
84
84
|
private
|
85
85
|
|
86
86
|
def operand_to_sass(pred, op, opts = {})
|
87
|
-
return "(#{op.to_sass})" if op.is_a?(Operation) &&
|
87
|
+
return "(#{op.to_sass(opts)})" if op.is_a?(Operation) &&
|
88
88
|
Sass::Script::Parser.precedence_of(op.operator) < pred
|
89
89
|
op.to_sass(opts)
|
90
90
|
end
|
data/lib/sass/scss/parser.rb
CHANGED
@@ -259,18 +259,6 @@ module Sass
|
|
259
259
|
tok(/[+-]/)
|
260
260
|
end
|
261
261
|
|
262
|
-
def property
|
263
|
-
return unless e = (tok(IDENT) || interpolation)
|
264
|
-
res = [e, str{ss}]
|
265
|
-
|
266
|
-
while e = (interpolation || tok(IDENT))
|
267
|
-
res << e
|
268
|
-
end
|
269
|
-
|
270
|
-
ss
|
271
|
-
res
|
272
|
-
end
|
273
|
-
|
274
262
|
def ruleset
|
275
263
|
rules = []
|
276
264
|
return unless v = selector
|
@@ -395,10 +383,10 @@ module Sass
|
|
395
383
|
end
|
396
384
|
|
397
385
|
def element_name
|
398
|
-
return unless name =
|
386
|
+
return unless name = interp_ident || tok(/\*/) || tok?(/\|/)
|
399
387
|
if tok(/\|/)
|
400
388
|
@expected = "element name or *"
|
401
|
-
name << "|" << (
|
389
|
+
name << "|" << (interp_ident || tok!(/\*/))
|
402
390
|
end
|
403
391
|
name
|
404
392
|
end
|
@@ -468,10 +456,12 @@ module Sass
|
|
468
456
|
# This allows the "*prop: val", ":prop: val", and ".prop: val" hacks
|
469
457
|
if s = tok(/[:\*\.]/)
|
470
458
|
@use_property_exception = s != '.'
|
471
|
-
name = [s, str{ss}
|
459
|
+
name = [s, str{ss}, *expr!(:interp_ident)]
|
472
460
|
else
|
473
|
-
return unless name =
|
461
|
+
return unless name = interp_ident
|
462
|
+
name = [name] if name.is_a?(String)
|
474
463
|
end
|
464
|
+
ss
|
475
465
|
|
476
466
|
@expected = expected_property_separator
|
477
467
|
space, value = expr!(:value)
|
@@ -576,10 +566,10 @@ MESSAGE
|
|
576
566
|
res
|
577
567
|
end
|
578
568
|
|
579
|
-
def interp_ident(
|
580
|
-
return unless val = tok(
|
569
|
+
def interp_ident(start = IDENT)
|
570
|
+
return unless val = tok(start) || interpolation
|
581
571
|
res = [val]
|
582
|
-
while val = tok(
|
572
|
+
while val = tok(NAME) || interpolation
|
583
573
|
res << val
|
584
574
|
end
|
585
575
|
res
|
data/test/sass/scss/scss_test.rb
CHANGED
@@ -671,6 +671,17 @@ $zzz: zzz;
|
|
671
671
|
SCSS
|
672
672
|
end
|
673
673
|
|
674
|
+
def test_selector_interpolation_at_dashes
|
675
|
+
assert_equal <<CSS, render(<<SCSS)
|
676
|
+
div {
|
677
|
+
-foo-a-b-foo: foo; }
|
678
|
+
CSS
|
679
|
+
$a : a;
|
680
|
+
$b : b;
|
681
|
+
div { -foo-\#{$a}-\#{$b}-foo: foo }
|
682
|
+
SCSS
|
683
|
+
end
|
684
|
+
|
674
685
|
def test_basic_prop_val_interpolation
|
675
686
|
assert_equal <<CSS, render(<<SCSS)
|
676
687
|
foo {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml-edge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.191
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Weizenbaum
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-04-
|
13
|
+
date: 2010-04-06 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|