mirror of
https://github.com/konvajs/konva.git
synced 2025-04-05 20:48:28 +08:00
Pure NodeJS environment test runner: grunt node-test
This commit is contained in:
parent
a524ba9ec1
commit
798d1acf28
16
Gruntfile.js
16
Gruntfile.js
@ -255,15 +255,25 @@ module.exports = function(grunt) {
|
|||||||
grunt.registerTask('hint', 'Check hint errors', ['jshint']);
|
grunt.registerTask('hint', 'Check hint errors', ['jshint']);
|
||||||
grunt.registerTask('test', 'Run tests', ['dev', 'mocha_phantomjs']);
|
grunt.registerTask('test', 'Run tests', ['dev', 'mocha_phantomjs']);
|
||||||
|
|
||||||
grunt.registerTask('server', 'run local server and create dev version', function() {
|
grunt.registerTask('node-test', 'Run tests in pure NodeJS environment', function(){
|
||||||
|
grunt.task.run('dev');
|
||||||
|
grunt.task.run('_run-node-test');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
grunt.registerTask('server', 'run local server and create dev version', function() {
|
||||||
grunt.task.run('dev');
|
grunt.task.run('dev');
|
||||||
grunt.log.writeln('Tests server starts on http://localhost:8080/test/runner.html');
|
|
||||||
var connect = require('connect');
|
var connect = require('connect');
|
||||||
connect.createServer(
|
connect.createServer(
|
||||||
connect.static(__dirname)
|
connect.static(__dirname)
|
||||||
).listen(8080);
|
).listen(8080);
|
||||||
grunt.task.run('watch:dev');
|
grunt.task.run('watch:dev');
|
||||||
|
grunt.log.writeln('Tests server starts on http://localhost:8080/test/runner.html');
|
||||||
|
});
|
||||||
|
|
||||||
|
// run pure node tests
|
||||||
|
grunt.registerTask('_run-node-test', function(){
|
||||||
|
require('./test/node-runner');
|
||||||
});
|
});
|
||||||
|
|
||||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||||
|
130
test/node-runner.js
Normal file
130
test/node-runner.js
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
var fs = require('fs'),
|
||||||
|
Kinetic = require('../dist/kinetic-dev');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
global.Kinetic = Kinetic;
|
||||||
|
Kinetic.enableTrace = true;
|
||||||
|
|
||||||
|
// Config MINIMAL test environment
|
||||||
|
global.suite = function(title, func) {
|
||||||
|
console.log('Suite : ' + title);
|
||||||
|
func();
|
||||||
|
};
|
||||||
|
|
||||||
|
global.test = function(title, func) {
|
||||||
|
try {
|
||||||
|
console.log('Run test: ' + title);
|
||||||
|
func(function(){});
|
||||||
|
} catch (e) {
|
||||||
|
console.log('Error at ' + title, e);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
test.skip = function(){};
|
||||||
|
global.assert = function(condtion, message){
|
||||||
|
if (!condtion) {
|
||||||
|
throw 'assert throw:' + message;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
global.assert.equal = function(left, right){
|
||||||
|
if (left !== right) {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
global.assert.notEqual = function(left, right){
|
||||||
|
if (left === right) {
|
||||||
|
throw 'assert throw';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
global.addStage = function(){
|
||||||
|
return new Kinetic.Stage({
|
||||||
|
width: 578,
|
||||||
|
height: 200
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// Some utils for testing
|
||||||
|
global.kineticContainer = Kinetic.document.createElement('div');
|
||||||
|
Kinetic.document.body.appendChild(kineticContainer);
|
||||||
|
global.showHit = global.addContainer = function(){
|
||||||
|
};
|
||||||
|
global.Image = Kinetic._nodeCanvas.Image;
|
||||||
|
Image.prototype.style = {};
|
||||||
|
eval(fs.readFileSync('./test/assets/tiger.js')+"");
|
||||||
|
eval(fs.readFileSync('./test/assets/worldMap.js')+"");
|
||||||
|
global.tiger = tiger;
|
||||||
|
global.worldMap = worldMap;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// now load all tests
|
||||||
|
require('./unit/Global-test.js');
|
||||||
|
require('./unit/Node-test.js');
|
||||||
|
require('./unit/Global-test.js');
|
||||||
|
require('./unit/Util-test.js');
|
||||||
|
require('./unit/Canvas-test.js');
|
||||||
|
require('./unit/Node-test.js');
|
||||||
|
require('./unit/Container-test.js');
|
||||||
|
require('./unit/Stage-test.js');
|
||||||
|
require('./unit/Layer-test.js');
|
||||||
|
require('./unit/Shape-test.js');
|
||||||
|
require('./unit/Collection-test.js');
|
||||||
|
|
||||||
|
// shapes -->
|
||||||
|
require('./unit/shapes/Rect-test.js');
|
||||||
|
require('./unit/shapes/Circle-test.js');
|
||||||
|
require('./unit/shapes/Image-test.js');
|
||||||
|
require('./unit/shapes/Line-test.js');
|
||||||
|
require('./unit/shapes/Text-test.js');
|
||||||
|
require('./unit/shapes/Blob-test.js');
|
||||||
|
require('./unit/shapes/Ellipse-test.js');
|
||||||
|
require('./unit/shapes/Polygon-test.js');
|
||||||
|
require('./unit/shapes/Spline-test.js');
|
||||||
|
require('./unit/shapes/Sprite-test.js');
|
||||||
|
require('./unit/shapes/Wedge-test.js');
|
||||||
|
require('./unit/shapes/Arc-test.js');
|
||||||
|
require('./unit/shapes/Ring-test.js');
|
||||||
|
|
||||||
|
// // extensions -->
|
||||||
|
require('./unit/Animation-test.js');
|
||||||
|
require('./unit/DragAndDrop-test.js');
|
||||||
|
require('./unit/Tween-test.js');
|
||||||
|
|
||||||
|
// // plugins -->
|
||||||
|
require('./unit/plugins/Label-test.js');
|
||||||
|
require('./unit/plugins/Star-test.js');
|
||||||
|
require('./unit/plugins/RegularPolygon-test.js');
|
||||||
|
require('./unit/plugins/Path-test.js');
|
||||||
|
require('./unit/plugins/TextPath-test.js');
|
||||||
|
|
||||||
|
// // filters -->
|
||||||
|
require('./unit/filters/Blur-test.js');
|
||||||
|
require('./unit/filters/Brighten-test.js');
|
||||||
|
require('./unit/filters/RGB-test.js');
|
||||||
|
require('./unit/filters/HSV-test.js');
|
||||||
|
require('./unit/filters/HSL-test.js');
|
||||||
|
require('./unit/filters/Invert-test.js');
|
||||||
|
require('./unit/filters/Mask-test.js');
|
||||||
|
require('./unit/filters/Grayscale-test.js');
|
||||||
|
require('./unit/filters/Enhance-test.js');
|
||||||
|
require('./unit/filters/Pixelate-test.js');
|
||||||
|
require('./unit/filters/Noise-test.js');
|
||||||
|
require('./unit/filters/Threshold-test.js');
|
||||||
|
require('./unit/filters/Posterize-test.js');
|
||||||
|
require('./unit/filters/Sepia-test.js');
|
||||||
|
require('./unit/filters/Emboss-test.js');
|
||||||
|
require('./unit/filters/Solarize-test.js');
|
||||||
|
require('./unit/filters/Kaleidoscope-test.js');
|
||||||
|
|
||||||
|
// //=============== functional tests ================-->
|
||||||
|
|
||||||
|
require('./functional/MouseEvents-test.js');
|
||||||
|
require('./functional/TouchEvents-test.js');
|
||||||
|
//require('./functional/DragAndDropEvents-test.js'); disabled because of simplest test configuration
|
||||||
|
|
||||||
|
// //=============== manual tests ================-->
|
||||||
|
// require('./manual/manual-test.js'); disabled because of unlimited animation
|
@ -872,25 +872,7 @@ suite('Node', function() {
|
|||||||
var layer = new Kinetic.Layer();
|
var layer = new Kinetic.Layer();
|
||||||
var group = new Kinetic.Group();
|
var group = new Kinetic.Group();
|
||||||
|
|
||||||
var points = [{
|
var points = [73, 250, 73, 160, 340, 23, 500, 109, 499, 139, 342, 93];
|
||||||
x: 73,
|
|
||||||
y: 250
|
|
||||||
}, {
|
|
||||||
x: 73,
|
|
||||||
y: 160
|
|
||||||
}, {
|
|
||||||
x: 340,
|
|
||||||
y: 23
|
|
||||||
}, {
|
|
||||||
x: 500,
|
|
||||||
y: 109
|
|
||||||
}, {
|
|
||||||
x: 499,
|
|
||||||
y: 139
|
|
||||||
}, {
|
|
||||||
x: 342,
|
|
||||||
y: 93
|
|
||||||
}];
|
|
||||||
|
|
||||||
var poly = new Kinetic.Line({
|
var poly = new Kinetic.Line({
|
||||||
points: points,
|
points: points,
|
||||||
|
@ -2,7 +2,7 @@ suite('Stage', function() {
|
|||||||
|
|
||||||
// ======================================================
|
// ======================================================
|
||||||
test('instantiate stage with id', function() {
|
test('instantiate stage with id', function() {
|
||||||
var container = document.createElement('div');
|
var container = Kinetic.document.createElement('div');
|
||||||
container.id = 'container';
|
container.id = 'container';
|
||||||
|
|
||||||
kineticContainer.appendChild(container);
|
kineticContainer.appendChild(container);
|
||||||
@ -21,7 +21,7 @@ suite('Stage', function() {
|
|||||||
|
|
||||||
// ======================================================
|
// ======================================================
|
||||||
test('test stage buffer canvas and hit buffer canvas', function() {
|
test('test stage buffer canvas and hit buffer canvas', function() {
|
||||||
var container = document.createElement('div');
|
var container = Kinetic.document.createElement('div');
|
||||||
container.id = 'container';
|
container.id = 'container';
|
||||||
|
|
||||||
kineticContainer.appendChild(container);
|
kineticContainer.appendChild(container);
|
||||||
@ -45,7 +45,7 @@ suite('Stage', function() {
|
|||||||
|
|
||||||
// ======================================================
|
// ======================================================
|
||||||
test('instantiate stage with dom element', function() {
|
test('instantiate stage with dom element', function() {
|
||||||
var container = document.createElement('div');
|
var container = Kinetic.document.createElement('div');
|
||||||
|
|
||||||
kineticContainer.appendChild(container);
|
kineticContainer.appendChild(container);
|
||||||
|
|
||||||
@ -58,8 +58,8 @@ suite('Stage', function() {
|
|||||||
|
|
||||||
// ======================================================
|
// ======================================================
|
||||||
test('stage instantiation should clear container', function() {
|
test('stage instantiation should clear container', function() {
|
||||||
var container = document.createElement('div');
|
var container = Kinetic.document.createElement('div');
|
||||||
var dummy = document.createElement('p');
|
var dummy = Kinetic.document.createElement('p');
|
||||||
|
|
||||||
container.appendChild(dummy);
|
container.appendChild(dummy);
|
||||||
kineticContainer.appendChild(container);
|
kineticContainer.appendChild(container);
|
||||||
@ -365,7 +365,7 @@ suite('Stage', function() {
|
|||||||
|
|
||||||
// ======================================================
|
// ======================================================
|
||||||
test('destroy stage', function() {
|
test('destroy stage', function() {
|
||||||
var container = document.createElement('div');
|
var container = Kinetic.document.createElement('div');
|
||||||
|
|
||||||
kineticContainer.appendChild(container);
|
kineticContainer.appendChild(container);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user