silverstripe-framework/thirdparty/jquery-concrete/spec/spec.concrete.properties.js

78 lines
1.7 KiB
JavaScript
Raw Normal View History

describe 'Concrete'
describe 'Properties'
before
$('body').append('<div id="dom_test"></div>')
end
after
$('#dom_test').remove()
end
before_each
$.concrete.clear_all_rules()
$('#dom_test').html('<div id="a" class="a b c"></div><div id="b" class="b c"></div>')
end
it 'can define and get a basic property'
$('#a').concrete({
Foo: null
});
$('.a').getFoo().should.be_null
end
it 'can define and set a basic property'
$('#a').concrete({
Foo: null
});
$('.a').setFoo(1);
$('.a').getFoo().should.equal 1
end
it 'can define a default value'
$('#a').concrete({
Foo: 1
});
$('.a').getFoo().should.equal 1
end
it 'should manage proprties in namespaces without clashing'
$('#a').concrete({
Foo: 1
});
$.concrete('test', function($){
$('#a').concrete({
Foo: 2
});
});
$('.a').getFoo().should.equal 1
$('.a').concrete('test').getFoo().should.equal 2
$('.a').setFoo(4);
$('.a').concrete('test').setFoo(8);
$('.a').getFoo().should.equal 4
$('.a').concrete('test').getFoo().should.equal 8
end
it 'should manage directly setting proprties in namespaces without clashing'
$('#a').concrete({
Foo: null
});
$.concrete('test', function($){
$('#a').concrete({
Foo: null
});
});
$('.a').concreteData('Foo', 4);
$('.a').concrete('test').concreteData('Foo', 8);
$('.a').concreteData('Foo').should.equal 4
$('.a').concrete('test').concreteData('Foo').should.equal 8
end
end
end