Sha256: 28d255c63fa593e8bea484a506c6293a9609dcd5146f48cdcfb52b7fb97ffe43

Contents?: true

Size: 1.03 KB

Versions: 34

Compression:

Stored size: 1.03 KB

Contents

require 'json'

describe "JSON.parse" do
  it "parses null into nil" do
    JSON.parse("null").should be_nil
  end

  it "parses true into true" do
    JSON.parse("true").should be_true
  end

  it "parses false into false" do
    JSON.parse("false").should be_false
  end

  it "parses numbers into numbers" do
    JSON.parse("42").should == 42
    JSON.parse("3.142").should == 3.142
  end

  it "parses arrays into ruby arrays" do
    JSON.parse("[]").should == []
    JSON.parse("[1, 2, 3]").should == [1, 2, 3]
    JSON.parse("[[1, 2, 3], [4, 5]]").should == [[1, 2, 3], [4, 5]]
    JSON.parse("[null, true, false]").should == [nil, true, false]
  end

  it "parses object literals into ruby hashes" do
    JSON.parse("{}").should == {}
    JSON.parse('{"a": "b"}').should == {"a" => "b"}
    JSON.parse('{"a": null, "b": 10, "c": [true, false]}').should == {"a" => nil, "b" => 10, "c" => [true, false]}
  end

  it "raises ParserError for invalid JSON" do
    lambda { JSON.parse("invalid_json") }.should raise_error(JSON::ParserError)
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 spec/opal/stdlib/json/parse_spec.rb
opal-1.8.2 spec/opal/stdlib/json/parse_spec.rb
opal-1.8.1 spec/opal/stdlib/json/parse_spec.rb
opal-1.8.0 spec/opal/stdlib/json/parse_spec.rb
opal-1.8.0.beta1 spec/opal/stdlib/json/parse_spec.rb
opal-1.7.4 spec/opal/stdlib/json/parse_spec.rb
opal-1.8.0.alpha1 spec/opal/stdlib/json/parse_spec.rb
opal-1.7.3 spec/opal/stdlib/json/parse_spec.rb
opal-1.7.2 spec/opal/stdlib/json/parse_spec.rb
opal-1.7.1 spec/opal/stdlib/json/parse_spec.rb
opal-1.7.0 spec/opal/stdlib/json/parse_spec.rb
opal-1.7.0.rc1 spec/opal/stdlib/json/parse_spec.rb
opal-1.6.1 spec/opal/stdlib/json/parse_spec.rb
opal-1.6.0 spec/opal/stdlib/json/parse_spec.rb
opal-1.6.0.rc1 spec/opal/stdlib/json/parse_spec.rb
opal-1.6.0.alpha1 spec/opal/stdlib/json/parse_spec.rb
opal-1.5.1 spec/opal/stdlib/json/parse_spec.rb
opal-1.5.0 spec/opal/stdlib/json/parse_spec.rb
opal-1.5.0.rc1 spec/opal/stdlib/json/parse_spec.rb
opal-1.4.1 spec/opal/stdlib/json/parse_spec.rb