const { resources } = require('../');
const { ImageBitmapResource } = resources;
describe('PIXI.resources.ImageBitmapResource', function ()
{
it('should create new dimension-less resource', async function ()
{
const canvas = document.createElement('canvas');
const bitmap = await createImageBitmap(canvas);
const resource = new ImageBitmapResource(bitmap);
expect(resource.width).to.equal(canvas.width);
expect(resource.height).to.equal(canvas.height);
expect(resource.valid).to.be.true;
resource.destroy();
});
it('should create new valid resource', async function ()
{
const canvas = document.createElement('canvas');
canvas.width = 100;
canvas.height = 200;
const bitmap = await createImageBitmap(canvas);
const resource = new ImageBitmapResource(bitmap);
expect(resource.width).to.equal(100);
expect(resource.height).to.equal(200);
expect(resource.valid).to.be.true;
resource.destroy();
});
it('should fire resize event on bind', async function ()
{
const canvas = document.createElement('canvas');
const bitmap = await createImageBitmap(canvas);
const resource = new ImageBitmapResource(bitmap);
const baseTexture = { setRealSize: sinon.stub() };
resource.bind(baseTexture);
expect(baseTexture.setRealSize.calledOnce).to.be.true;
resource.unbind(baseTexture);
resource.destroy();
});
it('should fire manual update event', async function ()
{
const canvas = document.createElement('canvas');
const bitmap = await createImageBitmap(canvas);
const resource = new ImageBitmapResource(bitmap);
const baseTexture = { update: sinon.stub() };
resource.bind(baseTexture);
expect(baseTexture.update.called).to.be.false;
resource.update();
expect(baseTexture.update.calledOnce).to.be.true;
resource.unbind(baseTexture);
resource.destroy();
});
});