summaryrefslogtreecommitdiff
path: root/includes/js/dijit/tests/_base/viewport.html
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dijit/tests/_base/viewport.html')
-rw-r--r--includes/js/dijit/tests/_base/viewport.html79
1 files changed, 79 insertions, 0 deletions
diff --git a/includes/js/dijit/tests/_base/viewport.html b/includes/js/dijit/tests/_base/viewport.html
new file mode 100644
index 0000000..2b8454a
--- /dev/null
+++ b/includes/js/dijit/tests/_base/viewport.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+ <title>dijit.getViewport() test</title>
+ <style type="text/css">
+ @import "../../../dojo/resources/dojo.css";
+ @import "../css/dijitTests.css";
+ html, body { margin: 0px; padding: 0px; }
+ </style>
+ <script type="text/javascript" src="../../../dojo/dojo.js"
+ djConfig="isDebug: false, parseOnLoad: false"></script>
+ <script type="text/javascript" src="../_testCommon.js"></script>
+
+ <script type="text/javascript">
+ dojo.require("doh.runner");
+ dojo.require("dijit.dijit");
+
+ function compute(){
+ var d = dojo.marginBox(dojo.byId("documentBorder")),
+ v = dijit.getViewport();
+ dojo.byId("results").innerHTML +=
+ "Document is " + d.w + "px x " + d.h + "px" +
+ ", viewport is " + v.w + "px x " + v.h + "px" +
+ ", with scroll offset of (" + v.l + ", " + v.t + ")<br>";
+ }
+
+ function addText(){
+ dojo.byId("results").innerHTML += "Adding text...<br><br>";
+ var text="";
+ for(var i=0;i<100;i++){
+ text += "<span style='white-space: nowrap'>";
+ for(var j=0;j<3;j++){ text += "Now is the time for all good men to come to the aid of their country."; }
+ text += "</span><br>";
+ }
+ dojo.byId("documentBorder").innerHTML += text;
+ }
+
+ dojo.addOnLoad(function(){
+ doh.register("dijit._base.manager",
+ [
+ function initial(t){
+ console.log("calling compute");
+ compute();
+ console.log("called compute");
+ var d = dojo.marginBox(dojo.byId("documentBorder")),
+ v = dijit.getViewport();
+ doh.t(v.h > d.h);
+ },
+ function expand(t){
+ var v = dijit.getViewport();
+ addText();
+ compute();
+ var v2 = dijit.getViewport();
+ doh.t(v2.h <= v.h);
+ doh.t(v2.h+20 >= v.h);
+ }
+ ]
+ );
+ doh.run();
+ });
+
+ </script>
+</head>
+<body>
+ <div id="documentBorder" style="border: solid red 2px;">
+ <h1>dijit.getViewport() test</h1>
+ <div style="padding: 10px; border: solid blue 1px;">padding div</div>
+ <button onclick="addText(); compute();">add text and compute size</button>
+ <button onclick="compute();">recompute size</button>
+ <ol>
+ <li>check results div below to see that before adding text, document is smaller than viewport
+ <li>after adding text, document should be bigger than viewport,and check that viewport size hasn't changed,
+ except maybe being a little bit smaller (about 15px) because of the size of the scrollbars
+ <li>resize browser window and click the "recompute size" button; reported viewport size should change
+ <li>scroll the window and click "recompute size" to see that the scroll position is taken into effect
+ </ol>
+ <div id=results style="border: 5px solid blue;">
+ </div>
+</body>
+</html>