Sha256: 4b0e5fb07a9b5edb52377881f436be07d6df59330c1c7fb0352a245855a841f3

Contents?: true

Size: 1.43 KB

Versions: 2

Compression:

Stored size: 1.43 KB

Contents

require "spec_helper"

describe JsRoutes, "compatibility with AMD/require.js"  do

  before(:each) do
    evaljs("window.GlobalCheck = {};")
    evaljs("window.define = function (requirs, callback) { window.GlobalCheck['js-routes'] = callback.call(this); return window.GlobalCheck['js-routes']; };")
    evaljs("window.define.amd = { jQuery: true };")
    strRequire =<<EOF
    window.require = function (r, callback) {
      var allArgs, i;

      allArgs = (function() {
        var _i, _len, _results;
        _results = [];
        for (_i = 0, _len = r.length; _i < _len; _i++) {
          i = r[_i];
          _results.push(window.GlobalCheck[i]);
        }
        return _results;
      })();

      return callback.apply(null, allArgs);
    };
EOF
    evaljs(strRequire)
    evaljs(JsRoutes.generate({}))
  end

  it "should working from global scope" do
    expect(evaljs("Routes.inboxes_path()")).to eq(test_routes.inboxes_path())
  end

  it "should working from define function" do
    expect(evaljs("Routes.inboxes_path()")).to eq(evaljs("GlobalCheck['js-routes'].inboxes_path()"))
  end

  it "should working from require" do
    expect(evaljs("require(['js-routes'], function(r){ return r.inboxes_path(); })")).to eq(test_routes.inboxes_path())
  end

  it "should define default export for es6 modules" do
    expect(evaljs("require(['js-routes'], function(r){ return r.default.inboxes_path(); })")).to eq(test_routes.inboxes_path())
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
js-routes-1.4.12 spec/js_routes/amd_compatibility_spec.rb
js-routes-1.4.11 spec/js_routes/amd_compatibility_spec.rb