@qooxdoo/framework
Version:
The JS Framework for Coders
101 lines (82 loc) • 2.37 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2012 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Martin Wittemann (wittemann)
************************************************************************ */
qx.Class.define("qx.test.bom.element.AnimationJs", {
extend: qx.dev.unit.TestCase,
include: qx.dev.unit.MMock,
members: {
__el: null,
testStop() {
var el = qx.dom.Element.create("div");
var handle = qx.bom.element.AnimationJs.animate(el, {
duration: 100,
keyFrames: {
0: { opacity: 1 },
100: { opacity: 0 }
},
delay: 200
});
var spy = this.spy();
handle.on("start", spy);
handle.stop();
this.wait(
500,
function () {
this.assertNotCalled(spy);
},
this
);
},
setUp() {
this.__el = qx.dom.Element.create("img");
qx.bom.element.Style.setStyles(this.__el, {
width: "200px",
height: "200px"
});
document.body.appendChild(this.__el);
},
tearDown() {
document.body.removeChild(this.__el);
this.__el = null;
},
"test animate properties which are CSS properties and element attributes"() {
// known to fail in chrome
if (qx.core.Environment.get("browser.name") == "chrome") {
throw new qx.dev.unit.RequirementError();
}
if (qx.core.Environment.get("browser.name") == "safari") {
throw new qx.dev.unit.RequirementError();
}
var handle = qx.bom.element.Animation.animate(this.__el, {
duration: 100,
keyFrames: {
0: { width: "200px", height: "200px" },
100: { width: "400px", height: "400px" }
},
keep: 100
});
this.wait(
500,
function () {
this.assertEquals(
"400px",
qx.bom.element.Style.get(this.__el, "width")
);
this.assertEquals(
"400px",
qx.bom.element.Style.get(this.__el, "height")
);
},
this
);
}
}
});