summaryrefslogtreecommitdiff
path: root/includes/js/dojo/tests/_base/fx.html
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojo/tests/_base/fx.html')
-rw-r--r--includes/js/dojo/tests/_base/fx.html342
1 files changed, 342 insertions, 0 deletions
diff --git a/includes/js/dojo/tests/_base/fx.html b/includes/js/dojo/tests/_base/fx.html
new file mode 100644
index 0000000..2ef751c
--- /dev/null
+++ b/includes/js/dojo/tests/_base/fx.html
@@ -0,0 +1,342 @@
+<html>
+ <head>
+ <title>testing Core FX</title>
+ <style type="text/css">
+ @import "../../resources/dojo.css";
+ </style>
+ <script type="text/javascript"
+ src="../../dojo.js"
+ djConfig="isDebug: true"></script>
+ <script type="text/javascript" src="../../_base/fx.js"></script>
+ <script type="text/javascript">
+ var duration = 500;
+ var timeout = 750;
+ dojo.require("doh.runner");
+ dojo.addOnLoad(function(){
+ doh.register("t",
+ [
+ {
+ name: "fadeOut",
+ timeout: timeout,
+ runTest: function(){
+ var opacity = dojo.style('foo', 'opacity');
+ doh.is(1, opacity);
+ var anim = dojo.fadeOut({ node: 'foo', duration: duration });
+ var d = new doh.Deferred();
+ dojo.connect(anim, "onEnd", function(){
+ var opacity = dojo.style('foo', 'opacity');
+ var elapsed = (new Date()) - anim._start;
+ doh.is(0, opacity);
+ doh.t(elapsed >= duration);
+ d.callback(true);
+ });
+ anim._start = new Date();
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "fadeIn",
+ timeout: timeout,
+ runTest: function(){
+ var opacity = dojo.style('foo', 'opacity');
+ doh.is(0, opacity);
+ var anim = dojo.fadeIn({ node: 'foo', duration: duration });
+ var d = new doh.Deferred();
+ dojo.connect(anim, "onEnd", function(){
+ var opacity = dojo.style('foo', 'opacity');
+ var elapsed = (new Date()) - anim._start;
+ doh.is(1, opacity);
+ doh.t(elapsed >= duration);
+ d.callback(true);
+ });
+ anim._start = new Date();
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "animateColor",
+ timeout: timeout,
+ runTest: function(){
+ var d = new doh.Deferred();
+ var anim = dojo.animateProperty({
+ node: "foo",
+ duration: duration,
+ properties: {
+ color: { start: "black", end: "white" },
+ backgroundColor: { start: "white", end: "black" }
+ }
+ });
+ dojo.connect(anim, "onEnd", anim, function(){
+ d.callback(true);
+ });
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "animateColorBack",
+ timeout: timeout,
+ runTest: function(){
+ var d = new doh.Deferred();
+ var anim = dojo.animateProperty({
+ node: "foo",
+ duration: duration,
+ properties: {
+ color: { end: "black" },
+ backgroundColor: { end: "#5d81b4" },
+ letterSpacing: { start: 0, end: 10 }
+ }
+ });
+ dojo.connect(anim, "onEnd", anim, function(){
+ d.callback(true);
+ });
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "animateHeight",
+ timeout: timeout,
+ runTest: function(t){
+ dojo.byId("foo").style.height = "";
+ var startHeight = dojo.marginBox("foo").h;
+ var endHeight = Math.round(startHeight / 2);
+
+ var anim = dojo.animateProperty({
+ node: "foo",
+ properties: { height: { end: endHeight } },
+ duration: duration
+ });
+
+ var d = new doh.Deferred();
+
+ dojo.connect(anim, "onEnd", anim, function(){
+ var elapsed = (new Date().valueOf()) - anim._startTime;
+ doh.t(elapsed >= duration);
+ var height = dojo.marginBox("foo").h;
+ doh.is(height, endHeight);
+ d.callback(true);
+ });
+
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "animateHeight_defaults_syntax",
+ timeout: timeout,
+ runTest: function(){
+ dojo.byId("foo").style.height = "";
+ var startHeight = dojo.marginBox("foo").h;
+ var endHeight = Math.round(startHeight / 2);
+
+ var anim = dojo.animateProperty({
+ node: "foo",
+ properties: { height: endHeight },
+ duration: duration
+ });
+
+ var d = new doh.Deferred();
+
+ dojo.connect(anim, "onEnd", anim, function(){
+ var elapsed = (new Date().valueOf()) - anim._startTime;
+ doh.t(elapsed >= duration);
+ var height = dojo.marginBox("foo").h;
+ doh.is(height, endHeight);
+ d.callback(true);
+ });
+
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "inlineWidth",
+ timeout: timeout,
+ runTest: function(){
+ dojo.style("foo", "display", "none");
+ dojo.style("bar", "display", "");
+ var startWidth = dojo.marginBox("bar").w;
+ var endWidth = Math.round(startWidth / 2);
+
+ var anim = dojo.animateProperty({
+ node: "bar",
+ properties: { width: endWidth },
+ duration: duration
+ });
+
+ var d = new doh.Deferred();
+
+ dojo.connect(anim, "onEnd", anim, function(){
+ var elapsed = (new Date().valueOf()) - anim._startTime;
+ doh.t(elapsed >= duration);
+ doh.is(dojo.marginBox("bar").w, endWidth);
+ d.callback(true);
+ });
+
+ anim.play();
+ return d;
+ }
+ },
+ {
+ name: "anim",
+ timeout: timeout+500,
+ runTest: function(){
+ var id = "baz";
+ dojo.style("bar", "display", "none");
+ dojo.style(id, "display", "");
+ var kickoff = new Date().valueOf();
+ var startWidth = dojo.marginBox(id).w;
+ var endWidth = Math.round(startWidth / 2);
+
+ var d = new doh.Deferred();
+ var anim = dojo.anim(
+ id,
+ {
+ width: endWidth,
+ opacity: 0
+ },
+ duration,
+ null,
+ function(){
+ var elapsed = (new Date().valueOf()) - anim._startTime;
+ doh.t(elapsed >= duration);
+ doh.t((new Date().valueOf()) >= (kickoff+duration+500));
+ doh.is(dojo.marginBox(id).w, endWidth);
+ doh.is(dojo.style(id, "opacity"), 0);
+ d.callback(true);
+ },
+ 500
+ );
+ return d;
+ }
+ },
+ {
+ name: "anim_defaults",
+ timeout: 1000,
+ runTest: function(){
+ var id = "thud";
+ dojo.style("baz", "display", "none");
+ dojo.style(id, "display", "");
+ var startWidth = dojo.marginBox(id).w;
+ var endWidth = Math.round(startWidth / 2);
+
+ var d = new doh.Deferred();
+ var anim = dojo.anim(id, { width: endWidth });
+ dojo.connect(anim, "onEnd", function(){
+ var elapsed = (new Date().valueOf()) - anim._startTime;
+ doh.t(elapsed >= dojo._Animation.prototype.duration); // the default
+ doh.is(dojo.marginBox(id).w, endWidth);
+ d.callback(true);
+ });
+ return d;
+ }
+ }
+ ]
+ );
+ doh.run();
+ });
+ </script>
+ <style type="text/css">
+ body {
+ margin: 1em;
+ background-color: #DEDEDE;
+ }
+
+ .box {
+ color: #292929;
+ /* color: #424242; */
+ /* text-align: left; */
+ width: 300px;
+ border: 1px solid #BABABA;
+ background-color: white;
+ padding-left: 10px;
+ padding-right: 10px;
+ margin-left: 10px;
+ -o-border-radius: 10px;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 10px;
+ /* -opera-border-radius: 10px; */
+ border-radius: 10px;
+ -moz-box-sizing: border-box;
+ -opera-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ -khtml-box-sizing: border-box;
+ box-sizing: border-box;
+ overflow: hidden;
+ /* position: absolute; */
+ }
+ </style>
+ </head>
+ <body>
+ <h1>testing Core FX</h1>
+ <form name="testForm">
+ <input type="button" onClick="dojo.fadeOut({ node: 'foo', duration: 1000 }).play()" value="fade out"></input>
+ <input type="button" onClick="dojo.fadeIn({ node: 'foo', duration: 1000 }).play()" value="fade in"></input>
+ </form>
+ <div id="foo" class="box" style="float: left;">
+ <p>
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
+ semper sagittis velit. Cras in mi. Duis porta mauris ut ligula.
+ Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla
+ facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi
+ semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum
+ magna. Sed vitae risus.
+ </p>
+ <p>
+ Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
+ imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer
+ lorem nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean
+ id mi in massa bibendum suscipit. Integer eros. Nullam suscipit
+ mauris. In pellentesque. Mauris ipsum est, pharetra semper,
+ pharetra in, viverra quis, tellus. Etiam purus. Quisque egestas,
+ tortor ac cursus lacinia, felis leo adipiscing nisi, et rhoncus
+ elit dolor eget eros. Fusce ut quam. Suspendisse eleifend leo vitae
+ ligula. Nulla facilisi. Nulla rutrum, erat vitae lacinia dictum,
+ pede purus imperdiet lacus, ut semper velit ante id metus. Praesent
+ massa dolor, porttitor sed, pulvinar in, consequat ut, leo. Nullam
+ nec est. Aenean id risus blandit tortor pharetra congue.
+ Suspendisse pulvinar.
+ </p>
+ </div>
+ <p id="bar" style="display: none;">
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper
+ sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta
+ rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi.
+ Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis.
+ Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae
+ risus.
+ </p>
+ <p id="baz" style="display: none;">
+ Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
+ imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem
+ nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in
+ massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In
+ pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra
+ quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia,
+ felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut
+ quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla
+ rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut
+ semper velit ante id metus. Praesent massa dolor, porttitor sed,
+ pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit
+ tortor pharetra congue. Suspendisse pulvinar.
+ </p>
+ <p id="thud" style="display: none;">
+ Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
+ imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem
+ nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in
+ massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In
+ pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra
+ quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia,
+ felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut
+ quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla
+ rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut
+ semper velit ante id metus. Praesent massa dolor, porttitor sed,
+ pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit
+ tortor pharetra congue. Suspendisse pulvinar.
+ </p>
+ </body>
+</html>
+