mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Tests: Adding visual/unit tests for scale effect.
This commit is contained in:
parent
c1f71f1c2f
commit
db96e2a51f
@ -28,40 +28,54 @@
|
||||
<script src="../../jquery.simulate.js"></script>
|
||||
<script src="../testsuite.js"></script>
|
||||
<script src="effects_core.js"></script>
|
||||
|
||||
<script src="effects_scale.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.test {
|
||||
background: #000;
|
||||
border: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.testAddBorder {
|
||||
border: 10px solid #000;
|
||||
}
|
||||
.testChildren,
|
||||
.testChangeBackground {
|
||||
background: #fff;
|
||||
}
|
||||
.test h2 {
|
||||
font-size: 10px;
|
||||
}
|
||||
.testChildren h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.relWidth {
|
||||
width: 50%;
|
||||
}
|
||||
#qunit-fixture {
|
||||
width: 1000px;
|
||||
height: 1000px;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.test {
|
||||
background: #000;
|
||||
border: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.testAddBorder {
|
||||
border: 10px solid #000;
|
||||
}
|
||||
.testChildren,
|
||||
.testChangeBackground {
|
||||
background: #fff;
|
||||
}
|
||||
.test h2 {
|
||||
font-size: 10px;
|
||||
}
|
||||
.testChildren h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.relWidth {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.relHeight {
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
.testScale {
|
||||
border: 5px solid #000;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.relHeight {
|
||||
height: 50%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@ -81,6 +95,8 @@
|
||||
<div class="relWidth relHeight testAddBorder">
|
||||
<h2>Slide with relative width</d2>
|
||||
</div>
|
||||
<div class="testScale">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
61
tests/unit/effects/effects_scale.js
Normal file
61
tests/unit/effects/effects_scale.js
Normal file
@ -0,0 +1,61 @@
|
||||
(function( $ ) {
|
||||
module( "effect.scale: Scale" );
|
||||
|
||||
function run( position, v, h, vo, ho ) {
|
||||
var desc = "End Position Correct: " + position + " (" + v + "," + h + ") - origin: (" + vo + "," + ho + ")";
|
||||
asyncTest( desc, function() {
|
||||
var test = $( ".testScale" ),
|
||||
css = {
|
||||
position: position
|
||||
},
|
||||
effect = {
|
||||
effect: "scale",
|
||||
mode: "effect",
|
||||
percent: 200,
|
||||
origin: [ vo, ho ],
|
||||
complete: complete,
|
||||
duration: 1
|
||||
},
|
||||
target = {},
|
||||
relative = position === "relative";
|
||||
|
||||
css[ h ] = 33;
|
||||
css[ v ] = 33;
|
||||
target[ h ] = h === ho ? css[ h ] : ho == "center" ? css[ h ] - 35 : css[ h ] - 70;
|
||||
target[ v ] = v === vo ? css[ v ] : vo == "middle" ? css[ v ] - 35 : css[ v ] - 70;
|
||||
if ( relative && h == "right" ) {
|
||||
target[ h ] += 70;
|
||||
}
|
||||
if ( relative && v == "bottom" ) {
|
||||
target[ v ] += 70;
|
||||
}
|
||||
test.css( css );
|
||||
test.effect( effect );
|
||||
|
||||
function complete() {
|
||||
equal( parseInt( test.css( h ), 10 ), target[ h ], "Horizontal Position Correct " + desc );
|
||||
equal( parseInt( test.css( v ), 10 ), target[ v ], "Vertical Position Correct " + desc );
|
||||
start();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function suite( position ) {
|
||||
run( position, "top", "left", "top", "left" );
|
||||
run( position, "top", "left", "middle", "center" );
|
||||
run( position, "top", "left", "bottom", "right" );
|
||||
run( position, "bottom", "right", "top", "left" );
|
||||
run( position, "bottom", "right", "middle", "center" );
|
||||
run( position, "bottom", "right", "bottom", "right" );
|
||||
}
|
||||
|
||||
$(function() {
|
||||
suite( "absolute" );
|
||||
suite( "relative" );
|
||||
$.offset.initialize();
|
||||
if ( $.offset.supportsFixedPosition ) {
|
||||
suite( "fixed" );
|
||||
}
|
||||
});
|
||||
|
||||
})( jQuery );
|
@ -5,6 +5,7 @@ body,html {
|
||||
font-size: 12px;
|
||||
font-family: Arial;
|
||||
background: #191919;
|
||||
color: #fff;
|
||||
}
|
||||
body { margin: 1em; }
|
||||
|
@ -1,25 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta charset="utf-8">
|
||||
<title>jQuery UI Effects Test Suite</title>
|
||||
<link rel="stylesheet" href="effects.all.css" type="text/css" />
|
||||
<script type="text/javascript" src="../../jquery-1.5.1.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.core.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.blind.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.bounce.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.clip.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.drop.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.explode.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.fade.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.fold.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.highlight.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.pulsate.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.scale.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.shake.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.slide.js"></script>
|
||||
<script type="text/javascript" src="../../ui/jquery.effects.transfer.js"></script>
|
||||
<script type="text/javascript" src="effects.all.js"></script>
|
||||
<link rel="stylesheet" href="effects.all.css" type="text/css">
|
||||
<script src="../../../jquery-1.5.1.js"></script>
|
||||
<script src="../../../ui/jquery.effects.core.js"></script>
|
||||
<script src="../../../ui/jquery.effects.blind.js"></script>
|
||||
<script src="../../../ui/jquery.effects.bounce.js"></script>
|
||||
<script src="../../../ui/jquery.effects.clip.js"></script>
|
||||
<script src="../../../ui/jquery.effects.drop.js"></script>
|
||||
<script src="../../../ui/jquery.effects.explode.js"></script>
|
||||
<script src="../../../ui/jquery.effects.fade.js"></script>
|
||||
<script src="../../../ui/jquery.effects.fold.js"></script>
|
||||
<script src="../../../ui/jquery.effects.highlight.js"></script>
|
||||
<script src="../../../ui/jquery.effects.pulsate.js"></script>
|
||||
<script src="../../../ui/jquery.effects.scale.js"></script>
|
||||
<script src="../../../ui/jquery.effects.shake.js"></script>
|
||||
<script src="../../../ui/jquery.effects.slide.js"></script>
|
||||
<script src="../../../ui/jquery.effects.transfer.js"></script>
|
||||
<script src="effects.all.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
159
tests/visual/effects/effects.scale.html
Normal file
159
tests/visual/effects/effects.scale.html
Normal file
@ -0,0 +1,159 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>jQuery UI Effects Test Suite</title>
|
||||
<link rel="stylesheet" href="effects.all.css" type="text/css">
|
||||
<script src="../../../jquery-1.5.1.js"></script>
|
||||
<script src="../../../ui/jquery.effects.core.js"></script>
|
||||
<script src="../../../ui/jquery.effects.scale.js"></script>
|
||||
<script src="effects.all.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function( $ ) {
|
||||
var test = $( "#testBox" ),
|
||||
opts = $( ".arg" ),
|
||||
optsRev = $( opts.get().reverse() ),
|
||||
doer = $( "#doAnim" ),
|
||||
current = $( "#current" ),
|
||||
cleanStyle = test[0].style,
|
||||
total = 1;
|
||||
|
||||
opts.each(function() {
|
||||
total *= this.options.length;
|
||||
});
|
||||
|
||||
opts.change( doAnim );
|
||||
doer.click( doAnim );
|
||||
$( "#cyclePrev" ).click(function() {
|
||||
cycle( -1 );
|
||||
});
|
||||
$( "#cycleNext" ).click(function() {
|
||||
cycle( 1 );
|
||||
});
|
||||
|
||||
function cycle( direction ) {
|
||||
optsRev.each(function() {
|
||||
var cur = this.selectedIndex,
|
||||
next = cur + direction,
|
||||
len = this.options.length;
|
||||
|
||||
this.selectedIndex = ( next + len ) % len;
|
||||
|
||||
if ( ( next+len ) % len === next ) return false;
|
||||
});
|
||||
doAnim();
|
||||
}
|
||||
|
||||
|
||||
function doAnim() {
|
||||
var cur = 0;
|
||||
opts.each(function() {
|
||||
cur *= this.options.length
|
||||
cur += this.selectedIndex;
|
||||
});
|
||||
cur++;
|
||||
current.text( "Configuration: " + cur + " of " + total );
|
||||
run.apply(test, opts.map(function() {
|
||||
return $(this).val();
|
||||
}).get());
|
||||
}
|
||||
|
||||
function run( position, v, h, vo, ho ) {
|
||||
var el = this,
|
||||
style = el[0].style,
|
||||
effect = {
|
||||
effect: "scale",
|
||||
mode: "effect",
|
||||
percent: 200,
|
||||
origin: [ vo, ho ],
|
||||
duration: 500
|
||||
};
|
||||
el.stop(true, true);
|
||||
if ( typeof style === "object" ) {
|
||||
style.cssText = "";
|
||||
} else {
|
||||
el[0].style = "";
|
||||
}
|
||||
el.css( "position", position )
|
||||
.css( h, 5 )
|
||||
.css( v, 5 )
|
||||
.delay( 100 )
|
||||
.effect( effect );
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
#testArea {
|
||||
/* border: 5px dashed #777;*/
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
position: relative;
|
||||
}
|
||||
#testBox {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-color: #bada55;
|
||||
color: black;
|
||||
border: 10px solid #fff;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
label {
|
||||
display: block;
|
||||
}
|
||||
#controls {
|
||||
position: absolute;
|
||||
z-index: 300;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -200px;
|
||||
width: 400px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="testArea">
|
||||
<div id="testBox">
|
||||
</div>
|
||||
</div>
|
||||
<div id="controls">
|
||||
<label for="pos">Positioning
|
||||
<select id="pos" class="arg">
|
||||
<option value="absolute">absolute</option>
|
||||
<option value="relative">relative</option>
|
||||
<option value="fixed">fixed</option>
|
||||
</select>
|
||||
</label>
|
||||
<label for="vertPos">Vertical Positioning
|
||||
<select id="vertPos" class="arg">
|
||||
<option value="top">top</option>
|
||||
<option value="bottom">bottom</option>
|
||||
</select>
|
||||
</label>
|
||||
<label for="horizPos">Horizontal Positioning
|
||||
<select id="horizPos" class="arg">
|
||||
<option value="left">left</option>
|
||||
<option value="right">right</option>
|
||||
</select>
|
||||
</label>
|
||||
<label for="vertOrigin">Vertical Origin
|
||||
<select id="vertOrigin" class="arg">
|
||||
<option value="top">top</option>
|
||||
<option value="middle">middle</option>
|
||||
<option value="bottom">bottom</option>
|
||||
</select>
|
||||
</label>
|
||||
<label for="horizOrigin">Horizontal Origin
|
||||
<select id="horizOrigin" class="arg">
|
||||
<option value="left">left</option>
|
||||
<option value="center">center</option>
|
||||
<option value="right">right</option>
|
||||
</select>
|
||||
</label><br />
|
||||
<label id="current">jQuery UI Scale Animation Test</label>
|
||||
<button id="cyclePrev">Back</button>
|
||||
<button id="doAnim">Run Animation</button>
|
||||
<button id="cycleNext">Forward</button>
|
||||
</div>
|
||||
</body>
|
Loading…
Reference in New Issue
Block a user