mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 492232 - Remove flaky tests from Scriptaculous effects_test. r=ehsan
This commit is contained in:
parent
ba47c96963
commit
c32b8d5474
@ -99,94 +99,6 @@
|
||||
function(){new Effect.Highlight('nothing-to-see-here')});
|
||||
}},
|
||||
|
||||
testCallbacks: function() { with(this) {
|
||||
tmp = tmp2 = 0;
|
||||
var e1 = new Effect.Opacity('sandbox',{from:1.0,to:0.5,duration:0.5,
|
||||
beforeStart: function() { tmp++ },
|
||||
beforeStartInternal: function() { tmp++ },
|
||||
beforeSetup: function() { tmp++ },
|
||||
beforeSetupInternal: function() { tmp++ },
|
||||
afterSetup: function() { tmp++ },
|
||||
afterSetupInternal: function() { tmp++ },
|
||||
beforeUpdate: function() { tmp2++ },
|
||||
beforeUpdateInternal: function() { tmp2++ },
|
||||
beforeFinish: function() { tmp++ },
|
||||
beforeFinishInternal: function() { tmp++ },
|
||||
afterFinish: function() { tmp++ },
|
||||
afterFinishInternal: function() { tmp++ }
|
||||
});
|
||||
wait(1000, function() {
|
||||
assertEqual(10, tmp);
|
||||
assert(tmp2 > 0);
|
||||
});
|
||||
}},
|
||||
|
||||
testEvent: function() { with(this) {
|
||||
tmp = 0;
|
||||
new Effect.Event({ afterFinish:function(){ tmp++ }, position:'end'});
|
||||
wait(100, function() {
|
||||
assertEqual(1, tmp);
|
||||
});
|
||||
}},
|
||||
|
||||
testTransition: function() { with(this) {
|
||||
// false implies linear
|
||||
var e = new Effect.Opacity('sandbox',{transition:false,from:0.0,to:0.25,duration:0.5});
|
||||
assert(e.options.transition == Effect.Transitions.linear);
|
||||
|
||||
wait(1000, function() {
|
||||
assertEqual(0.25, $('sandbox').getStyle('opacity'));
|
||||
// default to sinoidal
|
||||
var e = new Effect.Opacity('sandbox',{from:0.0,to:0.25,duration:0.5});
|
||||
assert(e.options.transition == Effect.Transitions.sinoidal);
|
||||
wait(1000, function() {
|
||||
assertEqual(0.25, $('sandbox').getStyle('opacity'));
|
||||
|
||||
var transitions = [
|
||||
{ transition: Effect.Transitions.linear, expected: 1 },
|
||||
{ transition: Effect.Transitions.sinoidal, expected: 1 },
|
||||
{ transition: Effect.Transitions.reverse, expected: 0 },
|
||||
{ transition: Effect.Transitions.flicker, expected: 1 },
|
||||
{ transition: Effect.Transitions.wobble, expected: 1 },
|
||||
{ transition: Effect.Transitions.pulse, expected: 1 },
|
||||
{ transition: Effect.Transitions.none, expected: 0 }
|
||||
];
|
||||
|
||||
transitions.each(function(t){
|
||||
var e = new Effect.Opacity('sandbox',{sync:true, from:0, to: 1, transition:t.transition});
|
||||
assert(e.options.transition == t.transition);
|
||||
e.render(1.0);
|
||||
assertEqual(t.expected, e.position, t.transition);
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
}},
|
||||
|
||||
testInspect: function() { with(this) {
|
||||
var e1 = new Effect.Opacity('sandbox',{from:1.0,to:0.5,duration:0.5});
|
||||
info( e1.inspect() );
|
||||
assertEqual(0, e1.inspect().indexOf('#<Effect:'));
|
||||
assert(e1.inspect().indexOf('idle')>0);
|
||||
wait(1000, function() {
|
||||
assert(e1.inspect().indexOf('finished')>0);
|
||||
});
|
||||
}},
|
||||
|
||||
testDefaultOptions: function() { with(this) {
|
||||
var oldDefaultOptions = Object.extend({},Effect.DefaultOptions);
|
||||
|
||||
assertEqual(1.0, Effect.DefaultOptions.duration);
|
||||
Effect.DefaultOptions.duration = 0.5;
|
||||
var e1 = new Effect.Opacity('sandbox');
|
||||
assertEqual(0.5, e1.options.duration);
|
||||
|
||||
wait(750, function() {
|
||||
assertEqual('finished', e1.state);
|
||||
Effect.DefaultOptions = oldDefaultOptions;
|
||||
});
|
||||
}},
|
||||
|
||||
testEffectsQueue: function() { with(this) {
|
||||
var e1 = new Effect.Highlight('sandbox');
|
||||
var e2 = new Effect.Appear('sandbox');
|
||||
@ -330,177 +242,6 @@
|
||||
});
|
||||
}},
|
||||
|
||||
testSynchronizedEffects: function() { with(this) {
|
||||
var e1 = new Effect.Fade('sandbox',{sync:true});
|
||||
wait(250, function() {
|
||||
// effect should still be at frame 0
|
||||
assertEqual(0, e1.currentFrame);
|
||||
assertEqual('idle', e1.state);
|
||||
e1.render(0.01);
|
||||
|
||||
// no frame count for sync effects
|
||||
assertEqual(0, e1.currentFrame);
|
||||
assertEqual('running', e1.state);
|
||||
});
|
||||
}},
|
||||
|
||||
testEffectPosition: function() { with(this) {
|
||||
var testeffect = new Effect.Opacity('sandbox',{
|
||||
afterSetup: function(effect) { effect.frames = 0; },
|
||||
afterUpdate: function(effect) { effect.frames++; $('sandbox').update(effect.position); },
|
||||
duration: 0.5, from: 1.0, to: 0.5
|
||||
});
|
||||
assertNull(testeffect.position);
|
||||
assertEqual('idle', testeffect.state);
|
||||
wait(1000, function() {
|
||||
info('Rendered ' + testeffect.frames + ' frames in .5 seconds ' +
|
||||
'(~' + (testeffect.frames/0.5) + 'fps of a possible 60fps, ' +
|
||||
'note that this can exceed 60fps because of additional last frame rendering)');
|
||||
assertEqual('0.5', $('sandbox').innerHTML);
|
||||
assertEqual(0.5, testeffect.position);
|
||||
assertEqual('finished', testeffect.state);
|
||||
});
|
||||
}},
|
||||
|
||||
testRenderPerformance: function() { with(this) {
|
||||
info('The render() method is generated on a per-effect basis')
|
||||
var e = new Effect.Opacity('sandbox',{sync:true});
|
||||
benchmark(function(){
|
||||
e.render(0.5);
|
||||
},1000, 'Without events');
|
||||
var e = new Effect.Opacity('sandbox',{sync:true,afterUpdate:function(){return}});
|
||||
benchmark(function(){
|
||||
e.render(0.5);
|
||||
},1000, 'With afterUpdate event');
|
||||
}},
|
||||
|
||||
testElementMorph: function() { with(this) {
|
||||
$('error_test_ul').morph('font-size:40px', {duration: 0.5}).setStyle({marginRight:'17px'});
|
||||
$('error_message_2').morph({
|
||||
fontSize: '20px',
|
||||
color: '#f00',
|
||||
backgroundColor: '#ffffff'
|
||||
},
|
||||
{
|
||||
duration:0.5
|
||||
});
|
||||
$('error_message_3').morph('final', {duration:0.5});
|
||||
wait(2000,function(){
|
||||
assertEqual('17px', $('error_test_ul').getStyle('margin-right'));
|
||||
assertEqual('40px', $('error_test_ul').getStyle('font-size'));
|
||||
assertEqual('#ffffff', $('error_message_2').getStyle('background-color').parseColor());
|
||||
assertEqual('20px', $('error_message_2').getStyle('font-size'));
|
||||
assertEqual('italic', $('error_message_3').getStyle('font-style'));
|
||||
assertEqual('20px', $('error_message_3').getStyle('font-size'));
|
||||
assertEqual(.5, $('error_message_3').getStyle('opacity'));
|
||||
assertEqual('', $('error_message_3').style.fontSize);
|
||||
});
|
||||
}},
|
||||
|
||||
testElementMorphChaining: function() { with(this) {
|
||||
$('error_message').morph('font-size:17px').morph('opacity:0',{delay:3});
|
||||
wait(4100,function(){ // 3000ms delay + 1000ms default duration
|
||||
assertEqual(0, $('error_message').getOpacity());
|
||||
});
|
||||
}},
|
||||
|
||||
testTransformBySelector: function() { with(this) {
|
||||
new Effect.Transform([
|
||||
{ 'ul.error-list li': 'font-size:20px;text-indent:40pt' }
|
||||
],{ duration: 0.5 }).play();
|
||||
|
||||
wait(700,function(){
|
||||
var idx = 0;
|
||||
$A($('error_test_ul').cleanWhitespace().childNodes).each(function(node){
|
||||
assertEqual('20px', $(node).getStyle('font-size'));
|
||||
assertEqual('40pt', $(node).getStyle('text-indent'));
|
||||
idx++;
|
||||
});
|
||||
assertEqual(5, idx);
|
||||
});
|
||||
}},
|
||||
|
||||
testTransformUsesCSSClassPresets: function() { with(this) {
|
||||
assertEqual('40px', $('rotfl').getStyle('font-size'));
|
||||
|
||||
// Render the effect at half-way through, font-size should be
|
||||
// exactly half-way between original and target
|
||||
new Effect.Transform([
|
||||
{ 'rotfl': 'font-size:20px;text-indent:40pt;background-color:#888' }
|
||||
],{ sync:true }).play().render(0.5);
|
||||
|
||||
wait(1100,function(){
|
||||
// shoould be 30px = 40px + (20px-40px)/2
|
||||
assertEqual('30px', $('rotfl').getStyle('font-size'));
|
||||
});
|
||||
}},
|
||||
|
||||
testTransformMultiple: function() { with(this) {
|
||||
var transformation = new Effect.Transform([
|
||||
{ 'div.morphing': 'font-size:20px;padding-left:40em;opacity:0.5' },
|
||||
{ 'blah' :
|
||||
'width:480px;border-width:10px;border-right-width:20px;' +
|
||||
'margin:20px;margin-bottom:-20px;font-size:30px;' +
|
||||
'background:#954' }
|
||||
],{ duration: 0.5 });
|
||||
|
||||
var generatedEffect = transformation.play();
|
||||
|
||||
assertEqual(3, generatedEffect.effects.length);
|
||||
|
||||
wait(700, function(){
|
||||
// have a look at the generated color transforms for the 3rd found element
|
||||
// which is the "blah" div
|
||||
assertEqual('blah', generatedEffect.effects[2].element.id);
|
||||
assertEnumEqual([255,255,255],
|
||||
generatedEffect.effects[2].transforms.detect( function(transform){
|
||||
return (transform.style == 'backgroundColor')
|
||||
}).originalValue);
|
||||
assertEnumEqual([153,85,68],
|
||||
generatedEffect.effects[2].transforms.detect( function(transform){
|
||||
return (transform.style == 'backgroundColor')
|
||||
}).targetValue);
|
||||
|
||||
assertEqual('20px', $$('div.morphing').first().getStyle('font-size'));
|
||||
assertEqual('20px', $$('div.morphing').last().getStyle('font-size'));
|
||||
assertEqual('30px', $('blah').getStyle('font-size'));
|
||||
|
||||
// border-width/border-right-width should be set independently
|
||||
assertEqual('10px', $('blah').getStyle('border-top-width'));
|
||||
assertEqual('10px', $('blah').getStyle('border-bottom-width'));
|
||||
assertEqual('10px', $('blah').getStyle('border-left-width'));
|
||||
assertEqual('20px', $('blah').getStyle('border-right-width'));
|
||||
|
||||
// colors should assume transition from
|
||||
// #ffffff (white) if original was transparent
|
||||
// we now should have arrived at the given color
|
||||
assertEqual('#995544', $('blah').getStyle('background-color').parseColor());
|
||||
|
||||
// play again = should have same values
|
||||
transformation.play();
|
||||
wait(700, function(){
|
||||
assertEqual('20px', $$('div.morphing').first().getStyle('font-size'));
|
||||
assertEqual('20px', $$('div.morphing').last().getStyle('font-size'));
|
||||
assertEqual('30px', $('blah').getStyle('font-size'));
|
||||
|
||||
$('blah').setStyle({'font-size':'100px'});
|
||||
assertEqual('100px', $('blah').getStyle('font-size'));
|
||||
transformation.play();
|
||||
wait(700, function(){
|
||||
assertEqual('30px', $('blah').getStyle('font-size'));
|
||||
|
||||
new Effect.Transform([
|
||||
{ 'blah': 'color: #80d980; background: #208020' }
|
||||
],{ duration: 1.1 }).play();
|
||||
wait(1500, function(){
|
||||
assertEqual('#80d980', $('blah').getStyle('color').parseColor());
|
||||
assertEqual('#208020', $('blah').getStyle('background-color').parseColor());
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}}
|
||||
|
||||
});
|
||||
|
||||
// ]]>
|
||||
|
Loading…
Reference in New Issue
Block a user