kf-player
Version:
Keyframe player from time stamped data sets
45 lines (39 loc) • 1.02 kB
JavaScript
const player = require('../');
const assert = require('chai').assert;
let data1 = {
0: {e1: [10,10], e2: 20, e3: [14, true, "message1"]},
2000: {e1: [30,30], e2: 22, e3: [16, false, "message2"]},
4000: {e1: [40,40], e2: 23}
};
describe(".duration()", function() {
it("returns correct duration when no start shift", function() {
let p = player();
p.data(data1);
assert.equal(p.duration(), 4.0);
});
it("returns zero duration when no data", function() {
let p = player();
assert.equal(p.duration(), 0);
});
});
describe(".entities()", function() {
it("returns correct entity list", function() {
let p = player();
p.data(data1);
assert.sameMembers(p.entities(), ["e1","e2","e3"]);
});
});
describe(".frame()", function() {
it("returns an interpolated frame", function(done) {
let p = player();
p.data(data1);
p.begin();
setTimeout(function() {
let state = p.frame();
assert.exists(state);
assert.approximately(state.e1[0], 20, 2);
p.end();
done();
}, 1000);
});
});