2012-03-18 01:28:25 +08:00
|
|
|
Test.prototype.tests = {
|
2012-06-16 02:47:55 +08:00
|
|
|
'DRAG AND DROP - test dragstart, dragmove, dragend': function(containerId) {
|
2012-06-16 15:02:55 +08:00
|
|
|
var urls = dataUrls['DRAG AND DROP - test dragstart, dragmove, dragend'];
|
|
|
|
|
2012-03-23 14:17:52 +08:00
|
|
|
var stage = new Kinetic.Stage({
|
|
|
|
container: containerId,
|
|
|
|
width: 578,
|
|
|
|
height: 200
|
|
|
|
});
|
2012-03-18 01:28:25 +08:00
|
|
|
var layer = new Kinetic.Layer();
|
|
|
|
var circle = new Kinetic.Circle({
|
2012-06-16 02:47:55 +08:00
|
|
|
x: 380,
|
2012-04-08 05:04:15 +08:00
|
|
|
y: stage.getHeight() / 2,
|
2012-03-18 01:28:25 +08:00
|
|
|
radius: 70,
|
|
|
|
strokeWidth: 4,
|
2012-03-18 05:35:34 +08:00
|
|
|
fill: 'red',
|
2012-06-16 02:47:55 +08:00
|
|
|
stroke: 'black'
|
2012-03-23 14:17:52 +08:00
|
|
|
});
|
2012-03-18 01:28:25 +08:00
|
|
|
|
2012-06-16 02:47:55 +08:00
|
|
|
circle.draggable(true);
|
2012-03-18 01:28:25 +08:00
|
|
|
|
|
|
|
layer.add(circle);
|
|
|
|
stage.add(layer);
|
2012-04-15 03:04:45 +08:00
|
|
|
|
2012-06-16 02:47:55 +08:00
|
|
|
var dragStart = false;
|
|
|
|
var dragMove = false;
|
|
|
|
var dragEnd = false;
|
2012-04-15 12:46:38 +08:00
|
|
|
|
2012-06-16 02:47:55 +08:00
|
|
|
circle.on('dragstart', function() {
|
|
|
|
dragStart = true;
|
2012-04-15 03:04:45 +08:00
|
|
|
});
|
|
|
|
|
2012-06-16 02:47:55 +08:00
|
|
|
circle.on('dragstart', function() {
|
|
|
|
dragStart = true;
|
2012-04-15 03:04:45 +08:00
|
|
|
});
|
|
|
|
|
2012-06-16 02:47:55 +08:00
|
|
|
circle.on('dragmove', function() {
|
|
|
|
dragMove = true;
|
2012-04-15 03:04:45 +08:00
|
|
|
});
|
|
|
|
|
2012-06-16 02:47:55 +08:00
|
|
|
circle.on('dragend', function() {
|
|
|
|
dragEnd = true;
|
2012-04-15 03:04:45 +08:00
|
|
|
});
|
2012-03-24 15:08:08 +08:00
|
|
|
|
2012-06-16 15:02:55 +08:00
|
|
|
stage.toDataURL(function(startDataUrl) {
|
2012-06-16 16:21:35 +08:00
|
|
|
test(urls[0] === startDataUrl, 'start data url is incorrect', true);
|
2012-06-16 15:02:55 +08:00
|
|
|
/*
|
|
|
|
* simulate drag and drop
|
|
|
|
*/
|
|
|
|
stage._mousedown({
|
2012-06-16 16:21:35 +08:00
|
|
|
clientX: 380,
|
|
|
|
clientY: 98
|
2012-03-24 15:08:08 +08:00
|
|
|
});
|
|
|
|
|
2012-06-16 15:02:55 +08:00
|
|
|
test(!dragStart, 'dragstart event should not have been triggered');
|
|
|
|
test(!dragMove, 'dragmove event should not have been triggered');
|
2012-06-16 02:47:55 +08:00
|
|
|
test(!dragEnd, 'dragend event should not have been triggered');
|
2012-03-24 15:08:08 +08:00
|
|
|
|
2012-06-16 15:02:55 +08:00
|
|
|
setTimeout(function() {
|
|
|
|
stage._mousemove({
|
2012-06-16 16:21:35 +08:00
|
|
|
clientX: 100,
|
|
|
|
clientY: 98
|
2012-06-16 15:02:55 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
test(dragStart, 'dragstart event was not triggered');
|
|
|
|
test(dragMove, 'dragmove event was not triggered');
|
|
|
|
test(!dragEnd, 'dragend event should not have been triggered');
|
|
|
|
}, 50);
|
|
|
|
setTimeout(function() {
|
|
|
|
stage._mouseup({
|
2012-06-16 16:21:35 +08:00
|
|
|
clientX: 100,
|
|
|
|
clientY: 98
|
2012-06-16 15:02:55 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
test(dragStart, 'dragstart event was not triggered');
|
|
|
|
test(dragMove, 'dragmove event was not triggered');
|
|
|
|
test(dragEnd, 'dragend event was not triggered');
|
2012-06-16 16:21:35 +08:00
|
|
|
|
2012-06-16 15:02:55 +08:00
|
|
|
stage.toDataURL(function(endDataUrl) {
|
2012-06-16 16:21:35 +08:00
|
|
|
//test(urls[1] === endDataUrl, 'end data url is incorrect');
|
2012-06-16 15:02:55 +08:00
|
|
|
});
|
|
|
|
}, 100);
|
|
|
|
});
|
2012-06-16 16:21:35 +08:00
|
|
|
},
|
|
|
|
'EVENTS - modify fill stroke and stroke width on hover with circle': function(containerId) {
|
|
|
|
var urls = dataUrls['EVENTS - modify fill stroke and stroke width on hover with circle'];
|
|
|
|
var stage = new Kinetic.Stage({
|
|
|
|
container: containerId,
|
|
|
|
width: 578,
|
|
|
|
height: 200
|
|
|
|
});
|
|
|
|
var layer = new Kinetic.Layer();
|
|
|
|
var circle = new Kinetic.Circle({
|
|
|
|
x: 380,
|
|
|
|
y: stage.getHeight() / 2,
|
|
|
|
radius: 70,
|
|
|
|
strokeWidth: 4,
|
|
|
|
fill: 'red',
|
|
|
|
stroke: 'black'
|
|
|
|
});
|
|
|
|
|
|
|
|
circle.on('mouseover', function() {
|
|
|
|
this.setFill('yellow');
|
|
|
|
this.setStroke('purple');
|
|
|
|
this.setStrokeWidth(20);
|
|
|
|
layer.draw();
|
|
|
|
});
|
|
|
|
|
|
|
|
circle.on('mouseout', function() {
|
|
|
|
this.setFill('red');
|
|
|
|
this.setStroke('black');
|
|
|
|
this.setStrokeWidth(4);
|
|
|
|
layer.draw();
|
|
|
|
});
|
|
|
|
|
|
|
|
layer.add(circle);
|
|
|
|
stage.add(layer);
|
|
|
|
|
|
|
|
stage.toDataURL(function(startDataUrl) {
|
|
|
|
//test(startDataUrl === urls[0], 'start data url is incorrect');
|
|
|
|
|
|
|
|
stage._mousemove({
|
|
|
|
clientX: 377,
|
|
|
|
clientY: 101
|
|
|
|
});
|
|
|
|
|
|
|
|
stage.toDataURL(function(endDataUrl) {
|
|
|
|
//test(urls[1] === endDataUrl, 'end data url is incorrect');
|
|
|
|
});
|
|
|
|
});
|
2012-03-24 15:08:08 +08:00
|
|
|
}
|
2012-03-18 01:28:25 +08:00
|
|
|
};
|