Hilo/test/util.js
zivyangll c0f2ccf92c test: test add macaca-reporter (#134)
* feat: test add macaca-reporter

* fix: get screenshot name in util

* fix: optimize empty image

* fix: update macaca-reporter

* fix: test:reporter

* fix: use test

* fix: add log

* fix: debug reporter

* fix: add debug log

* fix: only test

* fix: add log

* fix: add log

* fix: add log

* fix: add only

* fix: add e.stack

* fix: require

* fix: debug log

* fix: add reporter
2019-01-24 16:17:45 +08:00

119 lines
3.5 KiB
JavaScript

describe('util', function(){
describe('Ticker', function(){
var ticker, tickObj;
beforeEach('init Ticker', function(){
ticker = new Hilo.Ticker(60);
tickObj = {
tickNum:0,
tick:function(){
this.tickNum ++;
}
};
});
afterEach('destroy Ticker', function(){
ticker.stop();
});
it('addTick & removeTick', function(){
ticker._tick();
tickObj.tickNum.should.equal(0);
//addTick
ticker.addTick(tickObj);
ticker._tick();
tickObj.tickNum.should.equal(1);
ticker._tick();
tickObj.tickNum.should.equal(2);
//removeTick
ticker.removeTick(tickObj);
ticker._tick();
tickObj.tickNum.should.equal(2);
});
it('tick time', function(done){
var startTime;
ticker.addTick({
tick:function(){
if(!startTime){
startTime = Date.now();
}
else{
try{
(Date.now() - startTime).should.be.within(11, 21);
done();
}
catch(e){
done(e);
}
ticker.stop();
}
}
});
ticker.start(false);
});
});
describe('TextureAtlas', function(){
var fishImage;
beforeEach('load image', function(done){
utils.loadImage('images/fish.png', function(img){
fishImage = img;
done();
});
});
it('new', function(){
var texture = new Hilo.TextureAtlas({
image: fishImage,
width: 174,
height: 1512,
frames: {
frameWidth: 174,
frameHeight: 126,
numFrames: 12
},
sprites: {
fish: {from:0, to:7}
}
});
var spriteFrames = texture.getSprite('fish');
spriteFrames.length.should.equal(8);
var firstFrame = spriteFrames[0], endFrame = spriteFrames[7];
firstFrame.rect[1].should.equal(0);
endFrame.rect[1].should.equal(882);
});
it('createSpriteFrames', function(){
var spriteFrames = Hilo.TextureAtlas.createSpriteFrames("swim", "0-7", fishImage, 174, 126, true);
spriteFrames.length.should.equal(8);
var firstFrame = spriteFrames[0], endFrame = spriteFrames[7];
firstFrame.name.should.equal('swim');
endFrame.next.should.equal('swim');
firstFrame.rect[1].should.equal(0);
endFrame.rect[1].should.equal(882);
});
});
describe('browser', function(){
it('jsVendor', function(){
Hilo.browser.jsVendor.should.be.String();
});
it('cssVendor', function(){
Hilo.browser.cssVendor.should.be.String();
});
});
describe('util', function(){
it('copy', function(){
Hilo.util.copy({a:'a', c:'c'}, {a:'new a', b:'b'}).should.eql({a:'new a', b:'b', c:'c'});
Hilo.util.copy({a:'a', c:'c'}, {a:'new a', b:'b'}, true).should.eql({a:'new a', c:'c'});
});
});
});