move test files

This commit is contained in:
kekee000
2015-04-26 18:51:49 +08:00
parent a5aa97dd6c
commit 7484e464d6
56 changed files with 17 additions and 11823 deletions

View 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);
});
});
}
);

View 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
View 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');
}
);

View 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);
});
});
}
);

View 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]);
});
});
}
);