move test files
This commit is contained in:
65
test/spec/graphics/isSegmentCross.spec.js
Normal file
65
test/spec/graphics/isSegmentCross.spec.js
Normal file
@@ -0,0 +1,65 @@
|
||||
|
||||
define(
|
||||
function (require) {
|
||||
|
||||
var isSegmentCross = require('graphics/isSegmentCross');
|
||||
|
||||
describe('测试直线相交', function () {
|
||||
|
||||
it('test cross', function () {
|
||||
var result = isSegmentCross({"x":209,"y":358,"onCurve":true},{"x":341,"y":228,"onCurve":true},{"x":200,"y":200},{"x":396,"y":401});
|
||||
expect(result.length).toEqual(1);
|
||||
expect(result[0].x).toBeCloseTo(283, 0);
|
||||
expect(result[0].y).toBeCloseTo(285, 0);
|
||||
});
|
||||
|
||||
it('test hoz', function () {
|
||||
var result = isSegmentCross({"x":246,"y":272,"onCurve":true},{"x":289,"y":171,"onCurve":true},{"x":200,"y":200},{"x":343,"y":200});
|
||||
expect(result.length).toEqual(1);
|
||||
expect(result[0].x).toBeCloseTo(276.6, 0);
|
||||
expect(result[0].y).toEqual(200);
|
||||
});
|
||||
|
||||
it('test vertical', function () {
|
||||
var result = isSegmentCross({"x":144,"y":302,"onCurve":true},{"x":288,"y":172,"onCurve":true},{"x":201,"y":133},{"x":201,"y":351});
|
||||
expect(result.length).toEqual(1);
|
||||
expect(result[0].x).toEqual(201);
|
||||
expect(result[0].y).toBeCloseTo(250.5, 0);
|
||||
});
|
||||
|
||||
it('test parallel', function () {
|
||||
var result = isSegmentCross({"x":201,"y":314,"onCurve":true},{"x":201,"y":197,"onCurve":true},{"x":201,"y":151},{"x":201,"y":354});
|
||||
expect(result.length).toEqual(2);
|
||||
expect(result[0].x).toEqual(201);
|
||||
expect(result[0].y).toEqual(197);
|
||||
expect(result[1].x).toEqual(201);
|
||||
expect(result[1].y).toEqual(314);
|
||||
});
|
||||
|
||||
|
||||
it('test parallel cross', function () {
|
||||
var result = isSegmentCross({"x":201,"y":314,"onCurve":true},{"x":201,"y":197,"onCurve":true},{"x":201,"y":149},{"x":201,"y":267});
|
||||
expect(result.length).toEqual(2);
|
||||
expect(result[0].x).toEqual(201);
|
||||
expect(result[0].y).toEqual(197);
|
||||
expect(result[1].x).toEqual(201);
|
||||
expect(result[1].y).toEqual(267);
|
||||
});
|
||||
|
||||
it('test parallel cross', function () {
|
||||
var result = isSegmentCross({"x":300,"y":300,"onCurve":true},{"x":350,"y":350,"onCurve":true},{"x":200,"y":200},{"x":400,"y":400});
|
||||
expect(result.length).toEqual(2);
|
||||
expect(result[0].x).toEqual(300);
|
||||
expect(result[0].y).toEqual(300);
|
||||
expect(result[1].x).toEqual(350);
|
||||
expect(result[1].y).toEqual(350);
|
||||
});
|
||||
|
||||
it('test parallel not cross', function () {
|
||||
var result = isSegmentCross({"x":312,"y":261,"onCurve":true},{"x":375,"y":323,"onCurve":true},{"x":200,"y":200},{"x":400,"y":400});
|
||||
expect(result).toBe(false);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
);
|
||||
66
test/spec/graphics/vector.spec.js
Normal file
66
test/spec/graphics/vector.spec.js
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
define(
|
||||
function (require) {
|
||||
|
||||
var vector = require('graphics/vector');
|
||||
|
||||
describe('测试点到直线距离', function () {
|
||||
|
||||
it('test verital', function () {
|
||||
var p0 = {x: 10, y: 10};
|
||||
var p1 = {x: 20, y: 10};
|
||||
var p = {x: 50, y: 10};
|
||||
expect(vector.getDist(p0, p1, p)).toEqual(0);
|
||||
});
|
||||
|
||||
it('test hoz', function () {
|
||||
var p0 = {x: 10, y: 10};
|
||||
var p1 = {x: 10, y: 20};
|
||||
var p = {x: 10, y: 80};
|
||||
expect(vector.getDist(p0, p1, p)).toEqual(0);
|
||||
});
|
||||
|
||||
it('test sameline', function () {
|
||||
var p0 = {x: 10, y: 10};
|
||||
var p1 = {x: 50, y: 50};
|
||||
var p = {x: 25, y: 25};
|
||||
expect(vector.getDist(p0, p1, p)).toEqual(0);
|
||||
|
||||
|
||||
var p0 = {x: 10, y: 10};
|
||||
var p1 = {x: 50, y: 50};
|
||||
var p = {x: 80, y: 80};
|
||||
expect(vector.getDist(p0, p1, p)).toEqual(0);
|
||||
});
|
||||
|
||||
it('test hoz dist', function () {
|
||||
var p0 = {x: 10, y: 10};
|
||||
var p1 = {x: 10, y: 40};
|
||||
var p = {x: 50, y: 47};
|
||||
expect(vector.getDist(p0, p1, p)).toEqual(40);
|
||||
|
||||
|
||||
var p0 = {x: 45, y: 50};
|
||||
var p1 = {x: 50, y: 50};
|
||||
var p = {x: 90, y: 25};
|
||||
expect(vector.getDist(p0, p1, p)).toEqual(25);
|
||||
});
|
||||
|
||||
|
||||
it('test dist', function () {
|
||||
var p0 = {x: 50, y: 50};
|
||||
var p1 = {x: 0, y: 0};
|
||||
var p = {x: 50, y: 0};
|
||||
expect(vector.getDist(p0, p1, p)).toBeCloseTo(35.36, 2);
|
||||
|
||||
|
||||
var p0 = {x: 50, y: 50};
|
||||
var p1 = {x: 0, y: 0};
|
||||
var p = {x: 50, y: 0};
|
||||
expect(vector.getDist(p0, p1, p)).toBeCloseTo(35.36, 2);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
);
|
||||
20
test/spec/main.js
Normal file
20
test/spec/main.js
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* @file 单元测试入口
|
||||
* @author mengke01(kekee000@gmail.com)
|
||||
*/
|
||||
|
||||
|
||||
define(
|
||||
function (require) {
|
||||
|
||||
// math
|
||||
require('./math/getBezierQ2T.spec');
|
||||
|
||||
// ttf
|
||||
require('./ttf/reader-writer.spec');
|
||||
|
||||
// graphics
|
||||
require('./graphics/vector.spec');
|
||||
require('./graphics/isSegmentCross.spec');
|
||||
}
|
||||
);
|
||||
31
test/spec/math/getBezierQ2T.spec.js
Normal file
31
test/spec/math/getBezierQ2T.spec.js
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
define(
|
||||
function (require) {
|
||||
var getBezierQ2Point = require('math/getBezierQ2Point');
|
||||
var getBezierQ2T = require('math/getBezierQ2T');
|
||||
|
||||
describe('获得bezier曲线坐标t', function () {
|
||||
|
||||
it('test false', function () {
|
||||
var t = getBezierQ2T({"x":786,"y":638},{"x":673,"y":545},{"x":526,"y":545}, {x: 544.779145, y: 644.574325});
|
||||
expect(t).toBeFalsy();
|
||||
});
|
||||
|
||||
it('test start', function () {
|
||||
var t = getBezierQ2T({"x":786,"y":638},{"x":673,"y":545},{"x":526,"y":545}, {"x":786,"y":638});
|
||||
expect(t).toEqual(0);
|
||||
});
|
||||
|
||||
it('test end', function () {
|
||||
var t = getBezierQ2T({"x":786,"y":638},{"x":673,"y":545},{"x":526,"y":545}, {"x":526,"y":545});
|
||||
expect(t).toEqual(1);
|
||||
});
|
||||
|
||||
it('test middle', function () {
|
||||
var t = getBezierQ2T({"x":786,"y":638},{"x":673,"y":545},{"x":526,"y":545}, {x: 664.5, y: 568.25});
|
||||
expect(t).toEqual(0.5);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
);
|
||||
138
test/spec/ttf/reader-writer.spec.js
Normal file
138
test/spec/ttf/reader-writer.spec.js
Normal file
@@ -0,0 +1,138 @@
|
||||
|
||||
define(
|
||||
function (require) {
|
||||
|
||||
var Writer = require('ttf/writer');
|
||||
var Reader = require('ttf/reader');
|
||||
|
||||
describe('写基本数据', function () {
|
||||
|
||||
var buffer = new ArrayBuffer(100);
|
||||
|
||||
it('test write basic datatype', function () {
|
||||
var writer = new Writer(buffer, 0, 100);
|
||||
|
||||
// 基本类型
|
||||
writer.writeInt8(10);
|
||||
writer.writeInt16(2442);
|
||||
writer.writeInt32(-10);
|
||||
writer.writeUint8(10);
|
||||
writer.writeUint16(2442);
|
||||
writer.writeUint32(5375673);
|
||||
|
||||
writer.writeUint8(55.45444444);
|
||||
writer.writeUint16(55.45444444);
|
||||
writer.writeUint32(55.45444444);
|
||||
|
||||
var reader = new Reader(buffer, 0, 100);
|
||||
|
||||
expect(reader.readInt8()).toBe(10);
|
||||
expect(reader.readInt16()).toBe(2442);
|
||||
expect(reader.readInt32()).toBe(-10);
|
||||
expect(reader.readUint8()).toBe(10);
|
||||
expect(reader.readUint16()).toBe(2442);
|
||||
expect(reader.readUint32()).toBe(5375673);
|
||||
|
||||
expect(reader.readUint8()).toBe(55);
|
||||
expect(reader.readUint16()).toBe(55);
|
||||
expect(reader.readUint32()).toBe(55);
|
||||
});
|
||||
|
||||
it('test write decimals', function () {
|
||||
var writer = new Writer(buffer, 0, 100);
|
||||
|
||||
// 基本类型
|
||||
writer.writeInt8(-55.99999);
|
||||
writer.writeInt16(-55.99999);
|
||||
writer.writeInt32(-55.999999);
|
||||
|
||||
writer.writeUint8(55.45444444);
|
||||
writer.writeUint16(55.45444444);
|
||||
writer.writeUint32(55.45444444);
|
||||
|
||||
var reader = new Reader(buffer, 0, 100);
|
||||
|
||||
|
||||
expect(reader.readInt8()).toBe(-55);
|
||||
expect(reader.readInt16()).toBe(-55);
|
||||
expect(reader.readInt32()).toBe(-55);
|
||||
|
||||
expect(reader.readUint8()).toBe(55);
|
||||
expect(reader.readUint16()).toBe(55);
|
||||
expect(reader.readUint32()).toBe(55);
|
||||
});
|
||||
|
||||
|
||||
it('test write extend datatype', function () {
|
||||
var writer = new Writer(buffer, 0, 100);
|
||||
var now = Math.round(new Date().getTime() / 1000) * 1000;
|
||||
|
||||
// 扩展类型
|
||||
writer.writeString('baidu');
|
||||
writer.writeFixed(12.36);
|
||||
writer.writeLongDateTime(now);
|
||||
writer.writeBytes([3, 4, 5]);
|
||||
|
||||
var reader = new Reader(buffer, 0, 100);
|
||||
|
||||
expect(reader.readString(0, 5)).toEqual('baidu');
|
||||
expect(reader.readFixed()).toBeCloseTo(12.36, 2);
|
||||
expect(reader.readLongDateTime().getTime()).toEqual(now);
|
||||
expect(reader.readBytes(3)).toEqual([3, 4, 5]);
|
||||
});
|
||||
|
||||
it('test seek', function () {
|
||||
var writer = new Writer(buffer, 0, 100);
|
||||
// 测试seek
|
||||
writer.seek(50);
|
||||
writer.writeFixed(12.36);
|
||||
|
||||
var reader = new Reader(buffer, 0, 100);
|
||||
reader.seek(50);
|
||||
expect(reader.readFixed()).toBeCloseTo(12.36, 2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('读数据', function () {
|
||||
var buffer = new ArrayBuffer(100);
|
||||
var writer = new Writer(buffer, 0, 100);
|
||||
var now = Math.round(new Date().getTime() / 1000) * 1000;
|
||||
|
||||
// 基本类型
|
||||
writer.writeInt8(10);
|
||||
writer.writeInt16(2442);
|
||||
writer.writeInt32(-10);
|
||||
writer.writeUint8(10);
|
||||
writer.writeUint16(2442);
|
||||
writer.writeUint32(5375673);
|
||||
// 扩展类型
|
||||
writer.writeString('baidu');
|
||||
writer.writeFixed(12.36);
|
||||
writer.writeLongDateTime(now);
|
||||
writer.writeBytes([3, 4, 5]);
|
||||
|
||||
|
||||
|
||||
it('test read basic datatype', function () {
|
||||
var reader = new Reader(buffer, 0, 100);
|
||||
expect(reader.readInt8()).toBe(10);
|
||||
expect(reader.readInt16()).toBe(2442);
|
||||
expect(reader.readInt32()).toBe(-10);
|
||||
expect(reader.readUint8()).toBe(10);
|
||||
expect(reader.readUint16()).toBe(2442);
|
||||
expect(reader.readUint32()).toBe(5375673);
|
||||
});
|
||||
|
||||
it('test read extend datatype', function () {
|
||||
var reader = new Reader(buffer, 0, 100);
|
||||
reader.seek(14);
|
||||
expect(reader.readString(5)).toEqual('baidu');
|
||||
expect(reader.readFixed()).toBeCloseTo(12.36, 2);
|
||||
expect(reader.readLongDateTime().getTime()).toEqual(now);
|
||||
expect(reader.readBytes(3)).toEqual([3, 4, 5]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user