Sha256: 7213ed03588961a0941596cfde6aace4adc3ab729d1bc58d05542f65dd77ad28

Contents?: true

Size: 1.98 KB

Versions: 38

Compression:

Stored size: 1.98 KB

Contents

describe("Rev", function() {
  Rev.appComponent('FunctionClass.Index', function(initialProps) {
    return {
      render: function() {
        return React.createElement('span', { className: 'FunctionClass' });
      }
    }
  });

  var reference = {render: function() {}};

  beforeEach(function(){
    this.componentSpec = {render: function() { return React.createElement('span'); }};
  });

  it("can register a new object", function() {
    Rev.registerObject('_registerObjectTest', reference);
    expect(Rev._registerObjectTest).toBe(reference);
  });

  it("can register a new app object", function() {
    Rev.appObject('_appObjectTest', reference);
    expect(App._appObjectTest).toBe(reference);
  });

  it("can register a new component", function() {
    Rev.registerComponent('_registerComponent', this.componentSpec);
    expect(Rev.Components._registerComponent).toBeDefined();
  });

  it("can register a new app component", function() {
    Rev.appComponent('_appComponent', this.componentSpec);
    expect(App.Components._appComponent).toBeDefined();
  });

  it("warns you if you attempt to mixin which doesn't exist", function() {
    spyOn(console, 'warn');
    Rev.registerComponent('_nullMixinWarning', {mixins: [null], render: function() {}});
    expect(console.warn).toHaveBeenCalled();
  });

  it("includes the core mixin", function() {
    var arrayWithCore = jasmine.arrayContaining([Rev.Mixins.Core]);
    Rev.registerComponent('_coreMixinFunctions', this.componentSpec);
    expect(this.componentSpec.mixins).toEqual(arrayWithCore);
  });

  it("can render a component to a string with the ujs class", function() {
    var result;
    Rev.appComponent('Ujs.Index', this.componentSpec);
    result = Rev.viewToString('ujs/index', '{}');
    expect(result).toContain('data-react-class="App.Components.Main"');
  });

  it("can render a function component", function() {
    var result = Rev.viewToString('function_class/index', '{}');
    expect(result).toContain('class="FunctionClass"');
  });
});

Version data entries

38 entries across 30 versions & 1 rubygems

Version Path
revelry_core-0.1.12.6 spec/javascripts/core_spec.js
revelry_core-0.1.12.5 spec/javascripts/core_spec.js
revelry_core-0.1.12.4 spec/javascripts/core_spec.js
revelry_core-0.1.12.4 spec/dummy/tmp/jasmine/assets/core_spec.self.js
revelry_core-0.1.12.3 spec/javascripts/core_spec.js
revelry_core-0.1.12.2 spec/javascripts/core_spec.js
revelry_core-0.1.12.2 spec/dummy/tmp/jasmine/assets/core_spec.self.js
revelry_core-0.1.12.0 spec/javascripts/core_spec.js
revelry_core-0.1.11.6 spec/javascripts/core_spec.js
revelry_core-0.1.11.6 spec/dummy/tmp/jasmine/assets/core_spec.self.js
revelry_core-0.1.11.5 spec/javascripts/core_spec.js
revelry_core-0.1.11.2 spec/javascripts/core_spec.js
revelry_core-0.1.11.1 spec/javascripts/core_spec.js
revelry_core-0.1.11.0 spec/javascripts/core_spec.js
revelry_core-0.1.10.7 spec/javascripts/core_spec.js
revelry_core-0.1.10.6 spec/javascripts/core_spec.js
revelry_core-0.1.10.5 spec/javascripts/core_spec.js
revelry_core-0.1.10.4 spec/javascripts/core_spec.js
revelry_core-0.1.10.3 spec/javascripts/core_spec.js
revelry_core-0.1.10.2 spec/javascripts/core_spec.js