rkelly-remix 0.0.3 → 0.0.4

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.
@@ -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