Sha256: 81c794e2bb8c9fe3bd4a9f401652e5f1ad4c2c0df8407210bd811150c5311f13

Contents?: true

Size: 790 Bytes

Versions: 10

Compression:

Stored size: 790 Bytes

Contents

require "spec_helper"

describe JsRoutes, "#serialize" do

  before(:each) do
    evaljs(JsRoutes.generate({module_type: nil, namespace: 'Routes'}))
  end

  it "should provide this method" do
    expect(evaljs("Routes.serialize({a: 1, b: [2,3], c: {d: 4, e: 5}, f: ''})")).to eq(
      "a=1&b%5B%5D=2&b%5B%5D=3&c%5Bd%5D=4&c%5Be%5D=5&f="
    )
  end

  it "should provide this method" do
    expect(evaljs("Routes.serialize({a: 1, b: [2,3], c: {d: 4, e: 5}, f: ''})")).to eq(
      "a=1&b%5B%5D=2&b%5B%5D=3&c%5Bd%5D=4&c%5Be%5D=5&f="
    )
  end

  it "works with JS suckiness" do
    expect(evaljs(
      [
        "const query = Object.create(null);",
        "query.a = 1;",
        "query.b = 2;",
        "Routes.serialize(query);",
      ].join("\n")
    )).to eq("a=1&b=2")
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
js-routes-2.2.3 spec/js_routes/default_serializer_spec.rb
js-routes-2.2.2 spec/js_routes/default_serializer_spec.rb
js-routes-2.2.1 spec/js_routes/default_serializer_spec.rb
js-routes-2.2.0 spec/js_routes/default_serializer_spec.rb
js-routes-2.1.2 spec/js_routes/default_serializer_spec.rb
js-routes-2.1.1 spec/js_routes/default_serializer_spec.rb
js-routes-2.1.0 spec/js_routes/default_serializer_spec.rb
js-routes-2.0.8 spec/js_routes/default_serializer_spec.rb
js-routes-2.0.7 spec/js_routes/default_serializer_spec.rb
js-routes-2.0.6 spec/js_routes/default_serializer_spec.rb