mirror of
https://github.com/hiloteam/Hilo.git
synced 2025-12-08 20:35:59 +00:00
* 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
119 lines
3.5 KiB
JavaScript
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'});
|
|
});
|
|
});
|
|
});
|