haml-edge 2.3.3 → 2.3.4

Sign up to get free protection for your applications and to get access to all the features.
data/EDGE_GEM_VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.3
1
+ 2.3.4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.3
1
+ 2.3.4
@@ -65,10 +65,11 @@ module Sass
65
65
  # Used for error reporting
66
66
  # @param offset [Fixnum] The number of characters in on which the SassScript appears.
67
67
  # Used for error reporting
68
- def initialize(str, line, offset)
68
+ def initialize(str, line, offset, filename)
69
69
  @scanner = str.is_a?(StringScanner) ? str : StringScanner.new(str)
70
70
  @line = line
71
71
  @offset = offset
72
+ @filename = filename
72
73
  @prev = nil
73
74
  end
74
75
 
@@ -158,7 +159,18 @@ module Sass
158
159
  end
159
160
 
160
161
  def op
162
+ prev_chr = @scanner.string[@scanner.pos - 1].chr
161
163
  return unless op = @scanner.scan(REGULAR_EXPRESSIONS[:op])
164
+ if @prev && op == '-' && prev_chr !~ /\s/ &&
165
+ [:bool, :ident, :const].include?(@prev.type)
166
+ warn(<<END)
167
+ DEPRECATION WARNING:
168
+ On line #{@line}, character #{last_match_position}#{" of '#{@filename}'" if @filename}
169
+ - will be allowed as part of variable names in version 2.4.
170
+ Please add whitespace to separate it from the previous token.
171
+ END
172
+ end
173
+
162
174
  [OPERATORS[op]]
163
175
  end
164
176
 
@@ -14,7 +14,7 @@ module Sass
14
14
  # Used for error reporting
15
15
  def initialize(str, line, offset, filename = nil)
16
16
  @filename = filename
17
- @lexer = Lexer.new(str, line, offset)
17
+ @lexer = Lexer.new(str, line, offset, filename)
18
18
  end
19
19
 
20
20
  # Parses a SassScript expression within an interpolated segment (`#{}`).
@@ -61,22 +61,22 @@ foo \#{"\\\#{" + "baz"} bang
61
61
  SASS
62
62
  end
63
63
 
64
- def test_warning_reporting
64
+ def test_implicit_string_warning
65
65
  assert_warning(<<WARN) {eval("foo")}
66
66
  DEPRECATION WARNING:
67
- On line 1, character 1 of 'test_warning_reporting_inline.sass'
67
+ On line 1, character 1 of 'test_implicit_string_warning_inline.sass'
68
68
  Implicit strings have been deprecated and will be removed in version 2.4.
69
69
  'foo' was not quoted. Please add double quotes (e.g. "foo").
70
70
  WARN
71
71
  assert_warning(<<WARN) {eval("1 + foo")}
72
72
  DEPRECATION WARNING:
73
- On line 1, character 5 of 'test_warning_reporting_inline.sass'
73
+ On line 1, character 5 of 'test_implicit_string_warning_inline.sass'
74
74
  Implicit strings have been deprecated and will be removed in version 2.4.
75
75
  'foo' was not quoted. Please add double quotes (e.g. "foo").
76
76
  WARN
77
77
  assert_warning(<<WARN) {render("@if 1 + foo")}
78
78
  DEPRECATION WARNING:
79
- On line 1, character 9 of 'test_warning_reporting_inline.sass'
79
+ On line 1, character 9 of 'test_implicit_string_warning_inline.sass'
80
80
  Implicit strings have been deprecated and will be removed in version 2.4.
81
81
  'foo' was not quoted. Please add double quotes (e.g. "foo").
82
82
  WARN
@@ -84,7 +84,7 @@ WARN
84
84
  # Regression
85
85
  assert_warning(<<WARN) {render("@if if")}
86
86
  DEPRECATION WARNING:
87
- On line 1, character 5 of 'test_warning_reporting_inline.sass'
87
+ On line 1, character 5 of 'test_implicit_string_warning_inline.sass'
88
88
  Implicit strings have been deprecated and will be removed in version 2.4.
89
89
  'if' was not quoted. Please add double quotes (e.g. "if").
90
90
  WARN
@@ -102,6 +102,24 @@ WARN
102
102
  assert_equal "public_instance_methods()", resolve("public_instance_methods()")
103
103
  end
104
104
 
105
+ def test_hyphen_warning
106
+ a = Sass::Script::String.new("a")
107
+ b = Sass::Script::String.new("b")
108
+ assert_warning(<<WARN) {eval("!a-!b", {}, env("a" => a, "b" => b))}
109
+ DEPRECATION WARNING:
110
+ On line 1, character 3 of 'test_hyphen_warning_inline.sass'
111
+ - will be allowed as part of variable names in version 2.4.
112
+ Please add whitespace to separate it from the previous token.
113
+ WARN
114
+
115
+ assert_warning(<<WARN) {eval("true-false")}
116
+ DEPRECATION WARNING:
117
+ On line 1, character 5 of 'test_hyphen_warning_inline.sass'
118
+ - will be allowed as part of variable names in version 2.4.
119
+ Please add whitespace to separate it from the previous token.
120
+ WARN
121
+ end
122
+
105
123
  def test_ruby_equality
106
124
  assert_equal eval('"foo"'), eval('"foo"')
107
125
  assert_equal eval('1'), eval('1.0')
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.3
4
+ version: 2.3.4
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: 2009-07-10 00:00:00 -04:00
13
+ date: 2009-07-11 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -44,9 +44,9 @@ extensions: []
44
44
 
45
45
  extra_rdoc_files:
46
46
  - README.md
47
- - REVISION
48
- - MIT-LICENSE
49
47
  - VERSION
48
+ - MIT-LICENSE
49
+ - REVISION
50
50
  - VERSION_NAME
51
51
  - EDGE_GEM_VERSION
52
52
  files:
@@ -249,9 +249,9 @@ files:
249
249
  - init.rb
250
250
  - .yardopts
251
251
  - README.md
252
- - REVISION
253
- - MIT-LICENSE
254
252
  - VERSION
253
+ - MIT-LICENSE
254
+ - REVISION
255
255
  - VERSION_NAME
256
256
  - EDGE_GEM_VERSION
257
257
  has_rdoc: true