3 <script type=
"text/javascript" src=
"../MochiKit/Base.js"></script>
4 <script type=
"text/javascript" src=
"../MochiKit/Iter.js"></script>
5 <script type=
"text/javascript" src=
"../MochiKit/DOM.js"></script>
6 <script type=
"text/javascript" src=
"../MochiKit/Async.js"></script>
7 <script type=
"text/javascript" src=
"../MochiKit/Style.js"></script>
8 <script type=
"text/javascript" src=
"../MochiKit/Color.js"></script>
9 <script type=
"text/javascript" src=
"../MochiKit/Signal.js"></script>
10 <script type=
"text/javascript" src=
"../MochiKit/Position.js"></script>
11 <script type=
"text/javascript" src=
"../MochiKit/Visual.js"></script>
12 <script type=
"text/javascript" src=
"SimpleTest/SimpleTest.js"></script>
14 <link rel=
"stylesheet" type=
"text/css" href=
"SimpleTest/test.css">
15 <style type=
"text/css">
28 <div id='elt1'
>elt1
</div>
29 <div id='ctn1'
><div id='elt2'
></div></div>
31 <script type=
"text/javascript">
33 var TestQueue = function () {
36 TestQueue.prototype = new MochiKit.Visual.ScopedQueue();
38 MochiKit.Base.update(TestQueue.prototype, {
39 startLoop: function (func, interval) {
41 var timePos = new Date().getTime();
42 while (this.started) {
44 MochiKit.Base.map(function (effect) {
49 stopLoop: function () {
54 var gl = new TestQueue();
55 MochiKit.Visual.Queues.instances['global'] = gl;
56 MochiKit.Visual.Queues.instances['elt1'] = gl;
57 MochiKit.Visual.Queues.instances['ctn1'] = gl;
58 MochiKit.Visual.Queue = gl;
60 pulsate(
"elt1", {afterFinish: function () {
61 is(getElement('elt1').style.display != 'none', true,
"pulsate ok");
64 pulsate(
"elt1", {pulses:
2, afterFinish: function () {
65 is(getElement('elt1').style.display != 'none', true,
"pulsate with numbered pulses ok");
68 shake(
"elt1", {afterFinish: function () {
69 is(getElement('elt1').style.display != 'none', true,
"shake ok");
72 fade(
"elt1", {afterFinish: function () {
73 is(getElement('elt1').style.display, 'none',
"fade ok");
76 appear(
"elt1", {afterFinish: function () {
77 is(getElement('elt1').style.display != 'none', true,
"appear ok");
80 toggle(
"elt1",
"size", {afterFinish: function () {
81 is(getElement('elt1').style.display, 'none',
"toggle size ok");
84 toggle(
"elt1",
"size", {afterFinish: function () {
85 is(getElement('elt1').style.display != 'none', true,
"toggle size reverse ok");
88 Morph(
"elt1", {
"style": {
"font-size":
"2em"}, afterFinish: function () {
89 is(getStyle(
"elt1",
"font-size"),
"2em",
"Morph OK");
92 Morph(
"elt1", {
"style": {
"font-size":
"1em",
"margin-left":
"4px"}, afterFinish: function () {
93 is(getStyle(
"elt1",
"font-size"),
"1em",
"Morph multiple (font) OK");
94 is(getStyle(
"elt1",
"margin-left"),
"4px",
"Morph multiple (margin) OK");
97 switchOff(
"elt1", {afterFinish: function () {
98 is(getElement('elt1').style.display, 'none',
"switchOff ok");
101 grow(
"elt1", {afterFinish: function () {
102 is(getElement('elt1').style.display != 'none', true,
"grow ok");
105 shrink(
"elt1", {afterFinish: function () {
106 is(getElement('elt1').style.display, 'none',
"shrink ok");
110 dropOut(
"elt1", {afterFinish: function () {
111 is(getElement('elt1').style.display, 'none',
"dropOut ok");
115 puff(
"elt1", {afterFinish: function () {
116 is(getElement('elt1').style.display, 'none',
"puff ok");
120 fold(
"elt1", {afterFinish: function () {
121 is(getElement('elt1').style.display, 'none',
"fold ok");
125 squish(
"elt1", {afterFinish: function () {
126 is(getElement('elt1').style.display, 'none',
"squish ok");
129 slideUp(
"ctn1", {afterFinish: function () {
130 is(getElement('ctn1').style.display, 'none',
"slideUp ok");
133 slideDown(
"ctn1", {afterFinish: function () {
134 is(getElement('ctn1').style.display != 'none', true,
"slideDown ok");
137 blindDown(
"ctn1", {afterFinish: function () {
138 is(getElement('ctn1').style.display != 'none', true,
"blindDown ok");
141 blindUp(
"ctn1", {afterFinish: function () {
142 is(getElement('ctn1').style.display, 'none',
"blindUp ok");
145 multiple([
"elt1",
"ctn1"], appear, {afterFinish: function (effect) {
146 is(effect.element.style.display != 'none', true,
"multiple ok");
149 var toTests = [roundElement, roundClass, tagifyText, Opacity, Move, Scale, Highlight, ScrollTo, Morph];
150 for (var m in toTests) {
152 ok(true, toTests[m].NAME +
" doesn't need 'new' keyword");
154 ok(true,
"visual suite finished");
158 var s =
"test suite failure!\n";
162 // ensure unique keys?!
164 s += k +
": " + err[k] +
"\n";