pixi.js/test/unit/pixi/utils/EventTarget.js
Dr. Kibitz da4c67d38b Squashed commit of the following (unittest-refactor):
commit 9887e45976fc5211a4393e588d278a5e10baf06c
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Tue Sep 3 10:54:13 2013 -0700

    FIX: Ellipse getBounds method is not static

commit b3b359ad1c0fae412209705b01081dd231383656
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Tue Sep 3 10:53:41 2013 -0700

    More unit testing

commit dafbd1dbb03364b6d54db0cad26c4f02a8b9efe1
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 16:04:29 2013 -0700

    Remove unused karma plugin

commit 43209bfb59263278d2dc3561d06926ad515c4147
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 15:28:21 2013 -0700

    Add Travis CI status image to README

commit 2e38ba370bc05c239736155dcb06e34b47abf938
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 15:16:54 2013 -0700

    typo

commit b8898030da4d3e7b446ebb4ddeb30e8fc0adcf39
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 15:13:33 2013 -0700

    Lint test files, jsthint:test is now part of the test task

commit ea414dd1d734b39523174bd86d0cc58e920a89d2
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 15:11:50 2013 -0700

    Make all boilerplate tests, and an actual start to writing some real tests

commit 9e09c87997ae924989da4e1685f3a94636ab64de
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 14:37:51 2013 -0700

    Add back serving png files, convert to spaces

commit b45b1650c2e812a9cdb1165d96fba7b14bbdfab7
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sun Sep 1 00:55:57 2013 -0700

    Comment out functional tests for now

commit 3a350bf9e4d9fea470ad8e734dfc3542db74ccc8
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sat Aug 31 23:53:35 2013 -0700

    Removed quint, added karma, added resemble.js, refactored unit tests for mocha, added first example visual test

    run with:
    grunt travis

    You should see a brewer open and eventually see the spinning bunny. Then in the terminal, you should see the tests running where it matches frames 30, 60, and 90.

    Conflicts:
    	package.json

commit ac4c6de388e7a37786c9c4a6b2c95e22ec26b05d
Author: Dr. Kibitz <info@drkibitz.com>
Date:   Sat Aug 31 23:33:23 2013 -0700

    Remove trailing whitespace
2013-10-01 15:24:08 -07:00

96 lines
2.9 KiB
JavaScript

describe('pixi/utils/EventTarget', function () {
'use strict';
var expect = chai.expect;
var EventTarget = PIXI.EventTarget;
it('Module exists', function () {
expect(EventTarget).to.be.a('function');
});
it('Confirm new instance', function () {
var obj = {}; EventTarget.call(obj);
pixi_utils_EventTarget_like(obj);
});
it('addEventListener and dispatchEvent works', function (done) {
var myData = {},
obj = {}; EventTarget.call(obj);
obj.addEventListener('myevent', function (event) {
expect(event).to.be.an('object');
expect(event).to.have.property('type', 'myevent');
expect(event).to.have.property('data', myData);
done();
});
obj.dispatchEvent({type: 'myevent', data: myData});
});
it('removeEventListener works', function (done) {
var obj = {}; EventTarget.call(obj);
function onMyEvent() {
done(new Error('addEventListener should not have been called'));
}
obj.addEventListener('myevent', onMyEvent);
obj.removeEventListener('myevent', onMyEvent);
obj.dispatchEvent({type: 'myevent'});
done();
});
it('multiple dispatches', function () {
var called = 0,
obj = {}; EventTarget.call(obj);
function onMyEvent() {
called++;
}
obj.addEventListener('myevent', onMyEvent);
obj.dispatchEvent({type: 'myevent'});
obj.dispatchEvent({type: 'myevent'});
obj.dispatchEvent({type: 'myevent'});
obj.dispatchEvent({type: 'myevent'});
expect(called).to.equal(4);
});
it('multiple events', function () {
var called = 0,
obj = {}; EventTarget.call(obj);
function onMyEvent() {
called++;
}
obj.addEventListener('myevent1', onMyEvent);
obj.addEventListener('myevent2', onMyEvent);
obj.addEventListener('myevent3', onMyEvent);
obj.dispatchEvent({type: 'myevent1'});
obj.dispatchEvent({type: 'myevent2'});
obj.dispatchEvent({type: 'myevent3'});
expect(called).to.equal(3);
});
it('multiple events one removed', function () {
var called = 0,
obj = {}; EventTarget.call(obj);
function onMyEvent() {
called++;
}
obj.addEventListener('myevent1', onMyEvent);
obj.addEventListener('myevent2', onMyEvent);
obj.addEventListener('myevent3', onMyEvent);
obj.dispatchEvent({type: 'myevent1'});
obj.dispatchEvent({type: 'myevent2'});
obj.dispatchEvent({type: 'myevent3'});
obj.removeEventListener('myevent2', onMyEvent);
obj.dispatchEvent({type: 'myevent1'});
obj.dispatchEvent({type: 'myevent2'});
obj.dispatchEvent({type: 'myevent3'});
expect(called).to.equal(5);
});
});