rkelly-remix 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -175,6 +175,79 @@ class ParserTest < Test::Unit::TestCase
175
175
  @parser.parse('var foo = { bar: 10, baz: 1, }'))
176
176
  end
177
177
 
178
+ # ECMAScript 5.1 allows use of keywords for property names.
179
+
180
+ def test_object_literal_with_keywords_as_property_names
181
+ assert_sexp(
182
+ [[:var,
183
+ [[:var_decl, :foo, [:assign,
184
+ [:object, [[:property, :"var", [:lit, 10]]]]
185
+ ]]]
186
+ ]],
187
+ @parser.parse('var foo = { var: 10 }'))
188
+ end
189
+
190
+ def test_object_literal_with_literal_as_property_name
191
+ assert_sexp(
192
+ [[:var,
193
+ [[:var_decl, :foo, [:assign,
194
+ [:object, [[:property, :"null", [:lit, 10]]]]
195
+ ]]]
196
+ ]],
197
+ @parser.parse('var foo = { null: 10 }'))
198
+ end
199
+
200
+ def test_object_literal_with_reserved_keyword_as_property_name
201
+ assert_sexp(
202
+ [[:var,
203
+ [[:var_decl, :foo, [:assign,
204
+ [:object, [[:property, :"class", [:lit, 10]]]]
205
+ ]]]
206
+ ]],
207
+ @parser.parse('var foo = { class: 10 }'))
208
+ end
209
+
210
+ def test_object_literal_getter_with_keyword_as_getter_name
211
+ assert_sexp(
212
+ [[:var,
213
+ [[:var_decl, :foo, [:assign,
214
+ [:object, [[:getter, :if, [:func_expr, nil, [], [:func_body, []]]]]]
215
+ ]]]
216
+ ]],
217
+ @parser.parse('var foo = { get if() { } }'))
218
+ end
219
+
220
+ def test_object_literal_setter_with_keyword_as_setter_name
221
+ assert_sexp(
222
+ [[:var,
223
+ [[:var_decl, :foo, [:assign,
224
+ [:object, [[:setter, :return, [:func_expr, nil, [[:param, "v"]], [:func_body, []]]]]]
225
+ ]]]
226
+ ]],
227
+ @parser.parse('var foo = { set return(v) { } }'))
228
+ end
229
+
230
+ def test_dot_access_with_keyword
231
+ assert_sexp([[:expression,
232
+ [:dot_access,
233
+ [:resolve, "bar"],
234
+ 'var',
235
+ ]
236
+ ]],
237
+ @parser.parse('bar.var;'))
238
+ end
239
+
240
+ def test_dot_access_with_keyword_on_function_call
241
+ assert_sexp([[:expression,
242
+ [:dot_access,
243
+ [:function_call, [:resolve, "bar"], [:args, []]],
244
+ 'var',
245
+ ]
246
+ ]],
247
+ @parser.parse('bar().var;'))
248
+ end
249
+
250
+
178
251
  def test_this
179
252
  assert_sexp(
180
253
  [[:var, [[:var_decl, :foo, [:assign, [:this]]]]]],
@@ -1156,7 +1229,7 @@ class ParserTest < Test::Unit::TestCase
1156
1229
  assert_sexp([[:var,
1157
1230
  [[:var_decl,
1158
1231
  :x,
1159
- [:assign, [:function_call,
1232
+ [:assign, [:function_call,
1160
1233
  [:function_call, [:resolve, "bar"], [:args, []]],
1161
1234
  [:args, []]]]
1162
1235
  ]]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rkelly-remix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-29 00:00:00.000000000 Z
13
+ date: 2013-07-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdoc