sass 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.0
1
+ 3.1.1
data/lib/sass/engine.rb CHANGED
@@ -581,15 +581,9 @@ WARNING
581
581
  if value.strip.empty?
582
582
  expr = Sass::Script::String.new("")
583
583
  else
584
- important = false
585
- if value =~ Sass::SCSS::RX::IMPORTANT
586
- important = true
587
- value = value.gsub(Sass::SCSS::RX::IMPORTANT,"")
588
- end
589
584
  expr = parse_script(value, :offset => line.offset + line.text.index(value))
590
-
591
585
  end
592
- Tree::PropNode.new(parse_interp(name), expr, important, prop)
586
+ Tree::PropNode.new(parse_interp(name), expr, prop)
593
587
  end
594
588
 
595
589
  def parse_variable(line)
data/lib/sass/less.rb CHANGED
@@ -225,7 +225,7 @@ WARNING
225
225
  class Property
226
226
  def to_sass_tree
227
227
  return if hide_in_sass
228
- Sass::Tree::PropNode.new([self], @value.to_sass_tree, false, :new)
228
+ Sass::Tree::PropNode.new([self], @value.to_sass_tree, :new)
229
229
  end
230
230
  end
231
231
 
data/lib/sass/railtie.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  if defined?(ActiveSupport) && Sass::Util.has?(:public_method, ActiveSupport, :on_load) &&
3
3
  !Sass::Util.ap_geq?('3.1.0.beta')
4
4
  require 'sass/plugin/configuration'
5
- ActiveSupport.on_load(:before_initialize) do
5
+ ActiveSupport.on_load(:before_configuration) do
6
6
  require 'sass'
7
7
  require 'sass/plugin'
8
8
  end
@@ -231,7 +231,7 @@ module Sass
231
231
 
232
232
  variable || string(:double, false) || string(:single, false) || number ||
233
233
  color || bool || string(:uri, false) || raw(UNICODERANGE) ||
234
- special_fun || ident_op || ident || op
234
+ special_fun || special_val || ident_op || ident || op
235
235
  end
236
236
 
237
237
  def variable
@@ -302,6 +302,11 @@ MESSAGE
302
302
  str1.size + str2.size]
303
303
  end
304
304
 
305
+ def special_val
306
+ return unless scan(/!important/i)
307
+ [:string, Script::String.new("!important")]
308
+ end
309
+
305
310
  def ident_op
306
311
  return unless op = scan(REGULAR_EXPRESSIONS[:ident_op])
307
312
  [OPERATORS[op]]
@@ -638,11 +638,9 @@ MESSAGE
638
638
  tok!(/:/)
639
639
  space, value = value!
640
640
  ss
641
- important = tok(IMPORTANT)
642
- ss
643
641
  require_block = tok?(/\{/)
644
642
 
645
- node = node(Sass::Tree::PropNode.new(name.flatten.compact, value, !!important, :new))
643
+ node = node(Sass::Tree::PropNode.new(name.flatten.compact, value, :new))
646
644
 
647
645
  return node unless require_block
648
646
  nested_properties! node, space
data/lib/sass/scss/rx.rb CHANGED
@@ -119,7 +119,7 @@ module Sass
119
119
  # We could use it for 1.9 only, but I don't want to introduce a cross-version
120
120
  # behavior difference.
121
121
  # In any case, almost all CSS idents will be matched by this.
122
- STATIC_VALUE = /(-?#{NMSTART}|#{STRING_NOINTERP}|\s(?!%)|#[a-f0-9]|[,%]|#{NUM})+(?=[;}])/i
122
+ STATIC_VALUE = /(-?#{NMSTART}|#{STRING_NOINTERP}|\s(?!%)|#[a-f0-9]|[,%]|#{NUM}|\!important)+(?=[;}])/i
123
123
 
124
124
  STATIC_SELECTOR = /(#{NMCHAR}|\s|[,>+*]|[:#.]#{NMSTART})+(?=[{])/i
125
125
  end
@@ -23,11 +23,6 @@ module Sass::Tree
23
23
  # @return [Sass::Script::Node]
24
24
  attr_accessor :value
25
25
 
26
- # Whether the property was marked as !important.
27
- #
28
- # @return [Boolean]
29
- attr_accessor :important
30
-
31
26
  # The value of the property
32
27
  # after any interpolated SassScript has been resolved.
33
28
  # Only set once \{Tree::Visitors::Perform} has been run.
@@ -49,16 +44,14 @@ module Sass::Tree
49
44
 
50
45
  # @param name [Array<String, Sass::Script::Node>] See \{#name}
51
46
  # @param value [Sass::Script::Node] See \{#value}
52
- # @param important [Boolean] whether this is an !important property
53
47
  # @param prop_syntax [Symbol] `:new` if this property uses `a: b`-style syntax,
54
48
  # `:old` if it uses `:a b`-style syntax
55
- def initialize(name, value, important, prop_syntax)
49
+ def initialize(name, value, prop_syntax)
56
50
  @name = Sass::Util.strip_string_array(
57
51
  Sass::Util.merge_adjacent_strings(name))
58
52
  @value = value
59
53
  @tabs = 0
60
54
  @prop_syntax = prop_syntax
61
- @important = important
62
55
  super()
63
56
  end
64
57
 
@@ -96,7 +89,7 @@ module Sass::Tree
96
89
  old = opts[:old] && fmt == :sass
97
90
  initial = old ? ':' : ''
98
91
  mid = old ? '' : ':'
99
- "#{initial}#{name}#{mid} #{self.class.val_to_sass(value, opts)}#{' !important' if important}".rstrip
92
+ "#{initial}#{name}#{mid} #{self.class.val_to_sass(value, opts)}".rstrip
100
93
  end
101
94
 
102
95
  private
@@ -122,9 +122,9 @@ MESSAGE
122
122
  def visit_prop(node)
123
123
  tab_str = ' ' * (@tabs + node.tabs)
124
124
  if node.style == :compressed
125
- "#{tab_str}#{node.resolved_name}:#{node.resolved_value}#{'!important' if node.important}"
125
+ "#{tab_str}#{node.resolved_name}:#{node.resolved_value}"
126
126
  else
127
- "#{tab_str}#{node.resolved_name}: #{node.resolved_value}#{' !important' if node.important};"
127
+ "#{tab_str}#{node.resolved_name}: #{node.resolved_value};"
128
128
  end
129
129
  end
130
130
 
@@ -204,7 +204,7 @@ MESSAGE
204
204
  [Sass::Selector::Element.new(k.to_s.gsub(/[^\w-]/, "\\\\\\0"), nil)])
205
205
  ])
206
206
  ])
207
- prop = Sass::Tree::PropNode.new([""], "", false, :new)
207
+ prop = Sass::Tree::PropNode.new([""], "", :new)
208
208
  prop.resolved_name = "font-family"
209
209
  prop.resolved_value = Sass::SCSS::RX.escape_ident(v.to_s)
210
210
  rule << prop
@@ -2148,6 +2148,16 @@ CSS
2148
2148
  SASS
2149
2149
  end
2150
2150
 
2151
+ def test_silent_comment_in_prop_val_after_important
2152
+ assert_equal(<<CSS, render(<<SASS))
2153
+ .advanced {
2154
+ display: none !important; }
2155
+ CSS
2156
+ .advanced
2157
+ display: none !important // yeah, yeah. it's not really a style anyway.
2158
+ SASS
2159
+ end
2160
+
2151
2161
  def test_mixin_with_keyword_args
2152
2162
  assert_equal <<CSS, render(<<SASS)
2153
2163
  .mixed {
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
- - 0
10
- version: 3.1.0
9
+ - 1
10
+ version: 3.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nathan Weizenbaum
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-04-24 00:00:00 -07:00
20
+ date: 2011-04-25 00:00:00 -07:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -293,7 +293,7 @@ files:
293
293
  - VERSION_NAME
294
294
  - README.md
295
295
  - CONTRIBUTING
296
- has_rdoc: true
296
+ has_rdoc: false
297
297
  homepage: http://sass-lang.com/
298
298
  licenses: []
299
299