Newer
Older
pixi.js / packages / sprite / test / SpriteRenderer.js
@Matt Karl Matt Karl on 31 Oct 2017 1 KB Next Restructure for v5 (#4387)
const { SpriteRenderer } = require('../');

const mockrunner = {
    contextChange: {
        remove: () => 1,
        add: () => 1,
    },
};

describe('SpriteRenderer', function ()
{
    it('can be destroyed', function ()
    {
        const destroyable = { destroy: sinon.stub() };
        const webgl = {
            on: sinon.stub(),
            runners: mockrunner,
            off: sinon.stub(),
        };
        const renderer = new SpriteRenderer(webgl);

        // simulate onContextChange
        renderer.vertexBuffers = [destroyable, destroyable];
        renderer.vaos = [destroyable, destroyable];
        renderer.indexBuffer = destroyable;
        renderer.shader = destroyable;

        expect(() => renderer.destroy()).to.not.throw();
    });

    it('can be destroyed immediately', function ()
    {
        const webgl = {
            on: sinon.stub(),
            runners: mockrunner,
            off: sinon.stub(),
        };

        const renderer = new SpriteRenderer(webgl);

        expect(() => renderer.destroy()).to.not.throw();
    });
});