Sha256: 3385856c4bb96abcd3775f981ed11693aaae5a46596bbe86425c418a7003dae6

Contents?: true

Size: 1.68 KB

Versions: 22

Compression:

Stored size: 1.68 KB

Contents

describe("Delegation", function() {
  /* see src/jax/prototype/extensions.js */
  var klass;
  
  beforeEach(function() { klass = Jax.Class.create({initialize:function(){this.matrix_stack=new Jax.MatrixStack();}}); });
  
  it("should delegate via string", function() {
    klass.delegate("getProjectionMatrix", "loadModelMatrix").into("matrix_stack");
    
    var src = new klass();
    spyOn(src.matrix_stack, 'getProjectionMatrix');
    spyOn(src.matrix_stack, 'loadModelMatrix');
    
    src.getProjectionMatrix();
    src.loadModelMatrix(mat4.create());
    
    expect(src.matrix_stack.getProjectionMatrix).toHaveBeenCalled();
    expect(src.matrix_stack.loadModelMatrix).toHaveBeenCalled();
  });
  
  it("should delegate via regexp with explicit klass", function() {
    klass.delegate(/^(get|load|mult)(.*)Matrix$/).into("matrix_stack", Jax.MatrixStack);
    
    var src = new klass();
    spyOn(src.matrix_stack, 'getProjectionMatrix');
    spyOn(src.matrix_stack, 'loadModelMatrix');
    
    src.getProjectionMatrix();
    src.loadModelMatrix(mat4.create());
    
    expect(src.matrix_stack.getProjectionMatrix).toHaveBeenCalled();
    expect(src.matrix_stack.loadModelMatrix).toHaveBeenCalled();
  });
  
  it("should delegate via regexp without explicit klass", function() {
    klass.delegate(/^(get|load|mult)(.*)Matrix$/).into("matrix_stack");
    
    var src = new klass();
    spyOn(src.matrix_stack, 'getProjectionMatrix');
    spyOn(src.matrix_stack, 'loadModelMatrix');
    
    src.getProjectionMatrix();
    src.loadModelMatrix(mat4.create());
    
    expect(src.matrix_stack.getProjectionMatrix).toHaveBeenCalled();
    expect(src.matrix_stack.loadModelMatrix).toHaveBeenCalled();
  });
});

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
jax-2.0.12 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.11 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.10 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.9 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.8 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.7 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.6 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.5 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.4 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.3 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.2 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.1 spec/javascripts/jax/core/delegation_spec.js
jax-2.0.0 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.9 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.8 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.7 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.6 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.5 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.4 spec/javascripts/jax/core/delegation_spec.js
jax-0.0.0.3 spec/javascripts/jax/core/delegation_spec.js