generator-beez
Version:
A beez project generator for Yeoman
95 lines (87 loc) • 3.44 kB
JavaScript
/**
* @name imagemanager.js<spec>
* @author Kei Funagayama <funagayama_kei@cyberagent.co.jp>
* copyright (c) Cyberagent Inc.
* @overview TestCase: s/beez-mvcr/imagemanager.js
*/
define(['imagemanager'], function (imagemanager) {
var options = {
size: 10,
pool: {
crossOrigin: 'Anonymous'
}
};
var ImageManager = imagemanager.ImageManager;
var manager = new ImageManager(options);
var imgUrl = 'https://aos.a4c.jp/sasuke/d/1.0.6/wear/common/underwearFemale/base_pk_1304/img/8/wear_common_underwearFemale-base_pk_1304-8_10.png';
var imgUrls = [
'https://aos.a4c.jp/sasuke/d/1.0.6/wear/common/underwearFemale/base_pk_1304/img/8/wear_common_underwearFemale-base_pk_1304-8_13.png', // *1
'https://aos.a4c.jp/sasuke/d/1.0.6/wear/common/underwearFemale/base_pk_1304/img/8/wear_common_underwearFemale-base_pk_1304-8_15.png' // *2
];
var imgUrls_options = [
{crossOrigin: "Anonymous"}, // *1
//{}, // *1
{/** empty */} // *2
];
var loadImg;
return function () {
describe('ImageManager', function () {
it('loadOne', function (done) {
manager
.loadOne(imgUrl)
.then(function (res, next) {
expect(res.src).eq(imgUrl);
loadImg = res;
expect(loadImg.crossOrigin).eq('Anonymous').be.ok;
done();
}).error(function (err, next) {
throw new Error(err);
done();
})
.end()
;
});
it('pool', function () {
expect(manager.pool.limit).eq(options.size);
expect(manager.pool._total).eq(1);
expect(manager.pool._num_used).eq(1);
expect(manager.pool._unused.length).eq(0);
expect(manager.pool.options.crossOrigin).eq('Anonymous').be.ok;
});
it('living', function () {
expect(manager.living()).eq(1);
});
it('peak', function () {
expect(manager.peak()).eq(1);
});
it('waiting', function () {
expect(manager.waiting()).eq(0);
});
it('load', function (done) {
manager
.load(imgUrls, imgUrls_options)
.then(function (res, next) {
for (var i = 0; i < res.res.length; i++) {
expect((res.err[i] === null)).be.ok;
expect(res.res[i].src).eq(imgUrls[i]);
}
done();
}).error(function (err, next) {
expect(false).be.ok;
done();
})
.end()
;
});
it('imageUrl', function () {
var url = 'http://www.cyberagent.co.jp/test-${raito}.png';
var res = manager.imageUrl(url);
expect(url.replace('${ratio}', window.devicePixelRatio * 10)).eq(url);
});
it('dispose', function () {
manager.dispose();
expect((manager.pool === undefined)).be.ok;
});
});
};
});