Chart.js/test/specs/core.element.tests.js

45 lines
1.1 KiB
JavaScript
Raw Normal View History

2015-08-31 02:17:24 +02:00
// Test the core element functionality
describe('Core element tests', function() {
it ('should transition model properties', function() {
var element = new Chart.Element({
_model: {
numberProp: 0,
numberProp2: 100,
_underscoreProp: 0,
stringProp: 'abc',
objectProp: {
myObject: true
},
colorProp: 'rgb(0, 0, 0)'
}
});
// First transition clones model into view
element.transition(0.25);
expect(element._view).toEqual(element._model);
2015-08-31 02:17:24 +02:00
expect(element._view.objectProp).toBe(element._model.objectProp); // not cloned
element._model.numberProp = 100;
element._model.numberProp2 = 250;
element._model._underscoreProp = 200;
element._model.stringProp = 'def';
2015-08-31 02:17:24 +02:00
element._model.newStringProp = 'newString';
element._model.colorProp = 'rgb(255, 255, 0)';
2015-08-31 02:17:24 +02:00
element.transition(0.25);
2015-08-31 02:17:24 +02:00
expect(element._view).toEqual({
numberProp: 25,
numberProp2: 137.5,
_underscoreProp: 0, // underscore props are not transition to a new value
stringProp: 'def',
newStringProp: 'newString',
objectProp: {
myObject: true
},
colorProp: 'rgb(64, 64, 0)',
});
});
});