You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
4.6 KiB
184 lines
4.6 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
<html> |
|
<head> |
|
|
|
<title>Sample Dojo / Dijit Page</title> |
|
<style type="text/css"> |
|
@import "../../../dijit/themes/tundra/tundra.css"; |
|
@import "../resources/Lightbox.css"; |
|
#container { |
|
position:absolute; |
|
left:-9999px; |
|
width:9000px; |
|
overflow:hidden; |
|
} |
|
#randomimage { |
|
height:100px; |
|
} |
|
</style> |
|
<script>var djConfig = { isDebug:true, parseOnLoad:true }</script> |
|
<script src="../../../dojo/dojo.js"></script> |
|
<script type="text/javascript"> |
|
dojo.require("doh.runner"); |
|
dojo.require("dojo.parser"); |
|
dojo.require("dojox.image.Lightbox"); |
|
|
|
dojo.addOnLoad(function(){ |
|
|
|
doh.register("testUi", |
|
[ |
|
{ |
|
name:"basic lightbox", |
|
timeout:7000, |
|
runTest: function(t){ |
|
var d = new doh.Deferred(); |
|
|
|
var lb = dijit.byId("parsed"); |
|
t.is("dojox.image.Lightbox", lb.declaredClass); |
|
|
|
setTimeout(function(){ |
|
lb.show(); |
|
}, 300); |
|
|
|
setTimeout(function(){ |
|
lb.hide(); |
|
d.callback(true); |
|
}, lb.duration + 1700); |
|
|
|
return d; |
|
} |
|
}, |
|
{ |
|
name:"basic onclick", |
|
timeout:7000, |
|
runTest: function(t){ |
|
var d = new doh.Deferred(); |
|
var lb = dijit.byId("parsed"); |
|
|
|
t.is("basic title", lb.title); |
|
var c = dojo.connect(lb, "show", function(){ |
|
lb.hide(); |
|
dojo.disconnect(c); |
|
d.callback(true); |
|
}); |
|
|
|
dojo.query("a").at(0).forEach(function(n){ |
|
dojo._triggerEvent(n, "click"); |
|
}); |
|
|
|
return d; |
|
} |
|
}, |
|
{ |
|
name:"basic programatic", |
|
timeout:7000, |
|
runTest: function(t){ |
|
var d = new doh.Deferred(); |
|
|
|
var lb = new dojox.image.Lightbox({ |
|
href:"images/square.png", |
|
title:"A square image" |
|
}).placeAt(dojo.body()); |
|
|
|
lb.startup(); |
|
lb.show(); |
|
|
|
t.is("A square image", lb.title); |
|
t.is("dojox.image.LightboxDialog", dijit.byId("dojoxLightboxDialog").declaredClass); |
|
|
|
setTimeout(function(){ |
|
lb.hide(); |
|
d.callback(true); |
|
}, lb.duration + 500); |
|
|
|
return d; |
|
} |
|
}, |
|
{ |
|
name:"show single in master", |
|
timeout:5000, |
|
runTest: function(t){ |
|
var d = new doh.Deferred(); |
|
|
|
var lb = dijit.byId("dojoxLightboxDialog"); |
|
lb.show({ |
|
href:"images/extraWide.jpg", |
|
title:"Wiiiide" |
|
}); |
|
|
|
setTimeout(function(){ |
|
lb.hide(); |
|
d.callback(true); |
|
}, lb.duration + 1500); |
|
|
|
return d; |
|
} |
|
}, |
|
{ |
|
name:"basic group ui", |
|
timeout:15000, |
|
runTest: function(t){ |
|
var d = new doh.Deferred(); |
|
var l = dijit.byId("grouper"), |
|
lb = l._attachedDialog; |
|
|
|
t.is("bar", l.group); |
|
l.show(); |
|
|
|
var next = lb.nextButtonNode, prev = lb.prevButtonNode, |
|
close = lb.closeButtonNode; |
|
|
|
var c = dojo.connect(lb, "hide", function(){ |
|
dojo.disconnect(c); |
|
d.callback(true); |
|
}); |
|
|
|
setTimeout(function(){ |
|
dojo._triggerEvent(next, "click"); |
|
setTimeout(function(){ |
|
dojo._triggerEvent(prev, "click"); |
|
setTimeout(function(){ |
|
// note: calling trigger("click") on closeNode |
|
// makes hide() called out of scope? |
|
l.hide(); |
|
}, l.duration) |
|
}, l.duration); |
|
|
|
}, l.duration + 400); |
|
|
|
return d; |
|
} |
|
} |
|
] |
|
); |
|
|
|
doh.run(); |
|
|
|
}); |
|
|
|
// stolen from plugd (http://code.google.com/p/plugd/) to trigger basic events: |
|
(function(d){ |
|
d._triggerEvent = function(node, event){ |
|
// summary: Helper for `dojo.trigger`, which handles the DOM cases. We should never |
|
// be here without a nodeNode reference and a string eventname. |
|
node = d.byId(node); |
|
event = event && event.slice(0, 2) == "on" ? event.slice(2) : event; |
|
if(d.doc.createEvent){ |
|
var evObj = d.doc.createEvent("HTMLEvents"); |
|
evObj.initEvent(event, true, true); |
|
node.dispatchEvent(evObj); |
|
}else if(d.doc.createEventObject){ |
|
node.fireEvent("on" + event); |
|
} |
|
} |
|
})(dojo); |
|
|
|
</script> |
|
|
|
</head> |
|
<body class="tundra"> |
|
<a href="images/square.jpg" id="parsed" title="basic title" dojoType="dojox.image.Lightbox">test</a> |
|
<a href="images/square.jpg" id="grouper" group="bar" dojoType="dojox.image.Lightbox">testgroup</a> |
|
<a href="images/square.jpg" group="bar" dojoType="dojox.image.Lightbox">testgroup</a> |
|
</body> |
|
</html> |