diff --git a/test/core/Matrix.js b/test/core/Matrix.js new file mode 100644 index 0000000..7ee653c --- /dev/null +++ b/test/core/Matrix.js @@ -0,0 +1,88 @@ +'use strict'; + +describe('PIXI.Matrix', function () +{ + it('should create a new matrix', function () + { + var matrix = new PIXI.Matrix(); + + expect(matrix.a).to.equal(1); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(1); + expect(matrix.tx).to.equal(0); + expect(matrix.ty).to.equal(0); + + var input = [0, 1, 2, 3, 4, 5]; + matrix.fromArray(input); + + expect(matrix.a).to.equal(0); + expect(matrix.b).to.equal(1); + expect(matrix.c).to.equal(3); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(2); + expect(matrix.ty).to.equal(5); + + var output = matrix.toArray(true); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(1); + expect(output[3]).to.equal(3); + expect(output[4]).to.equal(4); + expect(output[6]).to.equal(2); + expect(output[7]).to.equal(5); + + var output = matrix.toArray(false); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(3); + expect(output[2]).to.equal(2); + expect(output[3]).to.equal(1); + expect(output[4]).to.equal(4); + expect(output[5]).to.equal(5); + }); + + it('should apply different transforms', function () + { + var matrix = new PIXI.Matrix(); + + matrix.translate(10, 20); + matrix.translate(1, 2); + expect(matrix.tx).to.equal(11); + expect(matrix.ty).to.equal(22); + + matrix.scale(2, 4); + expect(matrix.a).to.equal(2); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(22); + expect(matrix.ty).to.equal(88); + + var m2 = matrix.clone(); + expect(m2).to.not.equal(matrix); + expect(m2.a).to.equal(2); + expect(m2.b).to.equal(0); + expect(m2.c).to.equal(0); + expect(m2.d).to.equal(4); + expect(m2.tx).to.equal(22); + expect(m2.ty).to.equal(88); + + matrix.setTransform(14, 15, 0, 0, 4, 2, 0, 0, 0); + expect(matrix.a).to.equal(4); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(2); + expect(matrix.tx).to.equal(14); + expect(matrix.ty).to.equal(15); + }); + + it('should get IDENTITY and TEMP_MATRIX', function() + { + expect(PIXI.Matrix.IDENTITY instanceof PIXI.Matrix).to.be.true; + expect(PIXI.Matrix.TEMP_MATRIX instanceof PIXI.Matrix).to.be.true; + }); +}); + diff --git a/test/core/Matrix.js b/test/core/Matrix.js new file mode 100644 index 0000000..7ee653c --- /dev/null +++ b/test/core/Matrix.js @@ -0,0 +1,88 @@ +'use strict'; + +describe('PIXI.Matrix', function () +{ + it('should create a new matrix', function () + { + var matrix = new PIXI.Matrix(); + + expect(matrix.a).to.equal(1); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(1); + expect(matrix.tx).to.equal(0); + expect(matrix.ty).to.equal(0); + + var input = [0, 1, 2, 3, 4, 5]; + matrix.fromArray(input); + + expect(matrix.a).to.equal(0); + expect(matrix.b).to.equal(1); + expect(matrix.c).to.equal(3); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(2); + expect(matrix.ty).to.equal(5); + + var output = matrix.toArray(true); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(1); + expect(output[3]).to.equal(3); + expect(output[4]).to.equal(4); + expect(output[6]).to.equal(2); + expect(output[7]).to.equal(5); + + var output = matrix.toArray(false); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(3); + expect(output[2]).to.equal(2); + expect(output[3]).to.equal(1); + expect(output[4]).to.equal(4); + expect(output[5]).to.equal(5); + }); + + it('should apply different transforms', function () + { + var matrix = new PIXI.Matrix(); + + matrix.translate(10, 20); + matrix.translate(1, 2); + expect(matrix.tx).to.equal(11); + expect(matrix.ty).to.equal(22); + + matrix.scale(2, 4); + expect(matrix.a).to.equal(2); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(22); + expect(matrix.ty).to.equal(88); + + var m2 = matrix.clone(); + expect(m2).to.not.equal(matrix); + expect(m2.a).to.equal(2); + expect(m2.b).to.equal(0); + expect(m2.c).to.equal(0); + expect(m2.d).to.equal(4); + expect(m2.tx).to.equal(22); + expect(m2.ty).to.equal(88); + + matrix.setTransform(14, 15, 0, 0, 4, 2, 0, 0, 0); + expect(matrix.a).to.equal(4); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(2); + expect(matrix.tx).to.equal(14); + expect(matrix.ty).to.equal(15); + }); + + it('should get IDENTITY and TEMP_MATRIX', function() + { + expect(PIXI.Matrix.IDENTITY instanceof PIXI.Matrix).to.be.true; + expect(PIXI.Matrix.TEMP_MATRIX instanceof PIXI.Matrix).to.be.true; + }); +}); + diff --git a/test/core/ObservablePoint.js b/test/core/ObservablePoint.js new file mode 100644 index 0000000..7cf0e3e --- /dev/null +++ b/test/core/ObservablePoint.js @@ -0,0 +1,49 @@ +'use strict'; + +describe('PIXI.ObservablePoint', function () +{ + it('should create a new observable point', function () + { + var cb = sinon.spy(); + var pt = new PIXI.ObservablePoint(cb, pt); + + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + + pt.set(2, 5); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(5); + + expect(cb.called).to.be.true; + + pt.set(2, 6); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(6); + + pt.set(2, 0); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(0); + + pt.set(); + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + + expect(cb.callCount).to.equal(4); + }); + + it('should copy a new observable point', function () + { + var cb = function () {}; + var p1 = new PIXI.ObservablePoint(cb, p1, 10, 20); + var p2 = new PIXI.ObservablePoint(cb, p2, 5, 2); + var p3 = new PIXI.ObservablePoint(cb, p2, 5, 6); + + p1.copy(p2); + expect(p1.x).to.equal(p2.x); + expect(p1.y).to.equal(p2.y); + + p1.copy(p3); + expect(p1.y).to.equal(p3.y); + }); +}); + diff --git a/test/core/Matrix.js b/test/core/Matrix.js new file mode 100644 index 0000000..7ee653c --- /dev/null +++ b/test/core/Matrix.js @@ -0,0 +1,88 @@ +'use strict'; + +describe('PIXI.Matrix', function () +{ + it('should create a new matrix', function () + { + var matrix = new PIXI.Matrix(); + + expect(matrix.a).to.equal(1); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(1); + expect(matrix.tx).to.equal(0); + expect(matrix.ty).to.equal(0); + + var input = [0, 1, 2, 3, 4, 5]; + matrix.fromArray(input); + + expect(matrix.a).to.equal(0); + expect(matrix.b).to.equal(1); + expect(matrix.c).to.equal(3); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(2); + expect(matrix.ty).to.equal(5); + + var output = matrix.toArray(true); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(1); + expect(output[3]).to.equal(3); + expect(output[4]).to.equal(4); + expect(output[6]).to.equal(2); + expect(output[7]).to.equal(5); + + var output = matrix.toArray(false); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(3); + expect(output[2]).to.equal(2); + expect(output[3]).to.equal(1); + expect(output[4]).to.equal(4); + expect(output[5]).to.equal(5); + }); + + it('should apply different transforms', function () + { + var matrix = new PIXI.Matrix(); + + matrix.translate(10, 20); + matrix.translate(1, 2); + expect(matrix.tx).to.equal(11); + expect(matrix.ty).to.equal(22); + + matrix.scale(2, 4); + expect(matrix.a).to.equal(2); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(22); + expect(matrix.ty).to.equal(88); + + var m2 = matrix.clone(); + expect(m2).to.not.equal(matrix); + expect(m2.a).to.equal(2); + expect(m2.b).to.equal(0); + expect(m2.c).to.equal(0); + expect(m2.d).to.equal(4); + expect(m2.tx).to.equal(22); + expect(m2.ty).to.equal(88); + + matrix.setTransform(14, 15, 0, 0, 4, 2, 0, 0, 0); + expect(matrix.a).to.equal(4); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(2); + expect(matrix.tx).to.equal(14); + expect(matrix.ty).to.equal(15); + }); + + it('should get IDENTITY and TEMP_MATRIX', function() + { + expect(PIXI.Matrix.IDENTITY instanceof PIXI.Matrix).to.be.true; + expect(PIXI.Matrix.TEMP_MATRIX instanceof PIXI.Matrix).to.be.true; + }); +}); + diff --git a/test/core/ObservablePoint.js b/test/core/ObservablePoint.js new file mode 100644 index 0000000..7cf0e3e --- /dev/null +++ b/test/core/ObservablePoint.js @@ -0,0 +1,49 @@ +'use strict'; + +describe('PIXI.ObservablePoint', function () +{ + it('should create a new observable point', function () + { + var cb = sinon.spy(); + var pt = new PIXI.ObservablePoint(cb, pt); + + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + + pt.set(2, 5); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(5); + + expect(cb.called).to.be.true; + + pt.set(2, 6); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(6); + + pt.set(2, 0); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(0); + + pt.set(); + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + + expect(cb.callCount).to.equal(4); + }); + + it('should copy a new observable point', function () + { + var cb = function () {}; + var p1 = new PIXI.ObservablePoint(cb, p1, 10, 20); + var p2 = new PIXI.ObservablePoint(cb, p2, 5, 2); + var p3 = new PIXI.ObservablePoint(cb, p2, 5, 6); + + p1.copy(p2); + expect(p1.x).to.equal(p2.x); + expect(p1.y).to.equal(p2.y); + + p1.copy(p3); + expect(p1.y).to.equal(p3.y); + }); +}); + diff --git a/test/core/Point.js b/test/core/Point.js new file mode 100644 index 0000000..aee95aa --- /dev/null +++ b/test/core/Point.js @@ -0,0 +1,55 @@ +'use strict'; + +describe('PIXI.Point', function () +{ + it('should create a new point', function () + { + var pt = new PIXI.Point(); + + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + }); + + it('should clone a new point', function () + { + var p1 = new PIXI.Point(10, 20); + + expect(p1.x).to.equal(10); + expect(p1.y).to.equal(20); + + var p2 = p1.clone(); + + expect(p2.x).to.equal(10); + expect(p2.y).to.equal(20); + expect(p1).to.not.equal(p2); + expect(p1.equals(p2)).to.be.true; + }); + + it('should copy from one point to another', function () + { + var p1 = new PIXI.Point(10, 20); + var p2 = new PIXI.Point(2, 5); + + p1.copy(p2); + + expect(p1.x).to.equal(2); + expect(p1.y).to.equal(5); + }); + + it('should set a new value', function () + { + var p1 = new PIXI.Point(10, 20); + + p1.set(); + expect(p1.x).to.equal(0); + expect(p1.y).to.equal(0); + + p1.set(1); + expect(p1.x).to.equal(1); + expect(p1.y).to.equal(1); + + p1.set(1, 0); + expect(p1.x).to.equal(1); + expect(p1.y).to.equal(0); + }); +}); diff --git a/test/core/Matrix.js b/test/core/Matrix.js new file mode 100644 index 0000000..7ee653c --- /dev/null +++ b/test/core/Matrix.js @@ -0,0 +1,88 @@ +'use strict'; + +describe('PIXI.Matrix', function () +{ + it('should create a new matrix', function () + { + var matrix = new PIXI.Matrix(); + + expect(matrix.a).to.equal(1); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(1); + expect(matrix.tx).to.equal(0); + expect(matrix.ty).to.equal(0); + + var input = [0, 1, 2, 3, 4, 5]; + matrix.fromArray(input); + + expect(matrix.a).to.equal(0); + expect(matrix.b).to.equal(1); + expect(matrix.c).to.equal(3); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(2); + expect(matrix.ty).to.equal(5); + + var output = matrix.toArray(true); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(1); + expect(output[3]).to.equal(3); + expect(output[4]).to.equal(4); + expect(output[6]).to.equal(2); + expect(output[7]).to.equal(5); + + var output = matrix.toArray(false); + + expect(output.length).to.equal(9); + expect(output[0]).to.equal(0); + expect(output[1]).to.equal(3); + expect(output[2]).to.equal(2); + expect(output[3]).to.equal(1); + expect(output[4]).to.equal(4); + expect(output[5]).to.equal(5); + }); + + it('should apply different transforms', function () + { + var matrix = new PIXI.Matrix(); + + matrix.translate(10, 20); + matrix.translate(1, 2); + expect(matrix.tx).to.equal(11); + expect(matrix.ty).to.equal(22); + + matrix.scale(2, 4); + expect(matrix.a).to.equal(2); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(4); + expect(matrix.tx).to.equal(22); + expect(matrix.ty).to.equal(88); + + var m2 = matrix.clone(); + expect(m2).to.not.equal(matrix); + expect(m2.a).to.equal(2); + expect(m2.b).to.equal(0); + expect(m2.c).to.equal(0); + expect(m2.d).to.equal(4); + expect(m2.tx).to.equal(22); + expect(m2.ty).to.equal(88); + + matrix.setTransform(14, 15, 0, 0, 4, 2, 0, 0, 0); + expect(matrix.a).to.equal(4); + expect(matrix.b).to.equal(0); + expect(matrix.c).to.equal(0); + expect(matrix.d).to.equal(2); + expect(matrix.tx).to.equal(14); + expect(matrix.ty).to.equal(15); + }); + + it('should get IDENTITY and TEMP_MATRIX', function() + { + expect(PIXI.Matrix.IDENTITY instanceof PIXI.Matrix).to.be.true; + expect(PIXI.Matrix.TEMP_MATRIX instanceof PIXI.Matrix).to.be.true; + }); +}); + diff --git a/test/core/ObservablePoint.js b/test/core/ObservablePoint.js new file mode 100644 index 0000000..7cf0e3e --- /dev/null +++ b/test/core/ObservablePoint.js @@ -0,0 +1,49 @@ +'use strict'; + +describe('PIXI.ObservablePoint', function () +{ + it('should create a new observable point', function () + { + var cb = sinon.spy(); + var pt = new PIXI.ObservablePoint(cb, pt); + + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + + pt.set(2, 5); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(5); + + expect(cb.called).to.be.true; + + pt.set(2, 6); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(6); + + pt.set(2, 0); + expect(pt.x).to.equal(2); + expect(pt.y).to.equal(0); + + pt.set(); + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + + expect(cb.callCount).to.equal(4); + }); + + it('should copy a new observable point', function () + { + var cb = function () {}; + var p1 = new PIXI.ObservablePoint(cb, p1, 10, 20); + var p2 = new PIXI.ObservablePoint(cb, p2, 5, 2); + var p3 = new PIXI.ObservablePoint(cb, p2, 5, 6); + + p1.copy(p2); + expect(p1.x).to.equal(p2.x); + expect(p1.y).to.equal(p2.y); + + p1.copy(p3); + expect(p1.y).to.equal(p3.y); + }); +}); + diff --git a/test/core/Point.js b/test/core/Point.js new file mode 100644 index 0000000..aee95aa --- /dev/null +++ b/test/core/Point.js @@ -0,0 +1,55 @@ +'use strict'; + +describe('PIXI.Point', function () +{ + it('should create a new point', function () + { + var pt = new PIXI.Point(); + + expect(pt.x).to.equal(0); + expect(pt.y).to.equal(0); + }); + + it('should clone a new point', function () + { + var p1 = new PIXI.Point(10, 20); + + expect(p1.x).to.equal(10); + expect(p1.y).to.equal(20); + + var p2 = p1.clone(); + + expect(p2.x).to.equal(10); + expect(p2.y).to.equal(20); + expect(p1).to.not.equal(p2); + expect(p1.equals(p2)).to.be.true; + }); + + it('should copy from one point to another', function () + { + var p1 = new PIXI.Point(10, 20); + var p2 = new PIXI.Point(2, 5); + + p1.copy(p2); + + expect(p1.x).to.equal(2); + expect(p1.y).to.equal(5); + }); + + it('should set a new value', function () + { + var p1 = new PIXI.Point(10, 20); + + p1.set(); + expect(p1.x).to.equal(0); + expect(p1.y).to.equal(0); + + p1.set(1); + expect(p1.x).to.equal(1); + expect(p1.y).to.equal(1); + + p1.set(1, 0); + expect(p1.x).to.equal(1); + expect(p1.y).to.equal(0); + }); +}); diff --git a/test/core/index.js b/test/core/index.js index 5f8d479..899c633 100755 --- a/test/core/index.js +++ b/test/core/index.js @@ -9,3 +9,6 @@ require('./toGlobal'); require('./toLocal'); require('./util'); +require('./Point'); +require('./ObservablePoint'); +require('./Matrix');