Sha256: e051d01180c5cf5835cddd3faaa68ea9a99fe11eb6fb645a96d259259ba3e038

Contents?: true

Size: 1.69 KB

Versions: 5

Compression:

Stored size: 1.69 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), "helper"))

class ArrayLiteralNodeTest < Johnson::NodeTestCase
  def test_array_literal
    assert_sexp(
                [[:var, [[:assign, [:name, "foo"], [:array, [[:lit, 1]]]]]]],
                @parser.parse('var foo = [1];')
               )
    assert_ecma(
                'var foo = [1];',
                @parser.parse('var foo = [1];')
               )
  end

  def test_paren
    assert_ecma("(a && b);", "a && b;", @parser.parse("(a && b)"))
  end

  def test_array_with_commas
    assert_sexp(
                [[:var, [[:assign, [:name, "foo"], [:array, [
                  [:nil],
                  [:nil],
                  [:lit, 1]
                ]]]]]],
                @parser.parse('var foo = [,,1];')
               )
    assert_ecma(
                'var foo = [null, null, 1];',
                @parser.parse('var foo = [,,1];')
               )
    assert_sexp(
                [[:var, [[:assign, [:name, "foo"], [:array, [
                  [:str, 'foo'],
                  [:nil],
                  [:lit, 1]
                ]]]]]],
                @parser.parse('var foo = ["foo",,1];')
               )
    assert_ecma(
                'var foo = ["foo", null, 1];',
                @parser.parse('var foo = ["foo",,1];')
               )
    assert_sexp(
                [[:var, [[:assign, [:name, "foo"], [:array, [
                  [:name, 'bar'],
                  [:nil],
                  [:lit, 1]
                ]]]]]],
                @parser.parse('var foo = [bar,,1];')
               )
    assert_ecma(
                'var foo = [bar, null, 1];',
                @parser.parse('var foo = [bar,,1];')
               )
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
johnson19-2.0.0.pre3 test/johnson/generic/nodes/array_literal_test.rb
pre-johnson-2.0.0 test/johnson/generic/nodes/array_literal_test.rb
johnson-2.0.0.pre3 test/johnson/generic/nodes/array_literal_test.rb
johnson-2.0.0.pre2 test/johnson/generic/nodes/array_literal_test.rb
johnson-2.0.0.pre1 test/johnson/generic/nodes/array_literal_test.rb