dojox
Version:
Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.
198 lines (180 loc) • 8.33 kB
HTML
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<meta name="viewport"
content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<title>HTML5 Attribute Compliance</title>
<!-- DOH test for the changes introduced for HTML5 compliance
of attributes (#16188) -->
<script type="text/javascript" src="../../deviceTheme.js"></script>
<script type="text/javascript" src="../../../../dojo/dojo.js"
data-dojo-config="async: true, parseOnLoad: true"></script>
<script type="text/javascript">
require([
"dojo/dom",
"dojo/dom-class",
"dojo/ready",
"dijit/registry",
"doh/runner",
"dojox/mobile/parser",
"dojox/mobile",
"dojox/mobile/compat",
"dojox/mobile/ScrollableView",
"dojox/mobile/SwapView",
"dojox/mobile/Carousel",
"dojox/mobile/CarouselItem"
], function(dom, domClass, ready, registry, runner){
ready(function(){
doh.register("dojox/mobile/test.doh.HTML5compliance", [
function testInView1(){
// Check support for "fixed" attribute on widgets
var view = registry.byId("view1");
var header = registry.byId("fixedTop1");
var footer = registry.byId("fixedBottom1");
runner.assertTrue(view.fixedHeader == header.domNode, "wrong header");
runner.assertTrue(view.fixedFooter == footer.domNode, "wrong footer");
},
function testInView2(){
// Check support for "fixed" attribute on HTML elements
var view = registry.byId("view2");
var header = dom.byId("fixedTop2");
var footer = dom.byId("fixedBottom2");
runner.assertTrue(view.fixedHeader == header, "wrong header");
runner.assertTrue(view.fixedFooter == footer, "wrong footer");
},
function testInView3(){
// Check support for "data-mobile-fixed" attribute on widgets (new in Dojo 1.9)
var view = registry.byId("view3");
var header = registry.byId("fixedTop3");
var footer = registry.byId("fixedBottom3");
runner.assertTrue(view.fixedHeader == header.domNode, "wrong header");
runner.assertTrue(view.fixedFooter == footer.domNode, "wrong footer");
},
function testInView4(){
// Check support for "data-mobile-fixed" attribute on HTML elements (new in Dojo 1.9)
var view = registry.byId("view4");
var header = dom.byId("fixedTop4");
var footer = dom.byId("fixedBottom4");
runner.assertTrue(view.fixedHeader == header, "wrong header");
runner.assertTrue(view.fixedFooter == footer, "wrong footer");
},
function testInView5(){
// Check support for "lazy":
// - as attribute (legacy), or
// - in data-dojo-props (new in Dojo 1.9);
var swapview = registry.byId("swapview1");
runner.assertTrue(!!swapview._instantiated,
"wrong instanciation of swapview1 (not lazy)");
swapview = registry.byId("swapview2");
runner.assertFalse(!!swapview._instantiated,
"wrong instanciation of swapview2 (lazy attribute)");
swapview = registry.byId("swapview3");
runner.assertFalse(!!swapview._instantiated,
"wrong instanciation of swapview3 (lazy in data-dojo-props)");
},
function testInView6(){
// Check support for "layout" / "data-mobile-layout" attributes
// on ListItem children:
// - "layout" (legacy), or
// - "data-mobile-layout" (new in Dojo 1.9);
var child = dom.byId("listItemChild1"); // left
runner.assertTrue(domClass.contains(child, "mblListItemLayoutLeft"), "layout - Left");
child = dom.byId("listItemChild2"); // center
runner.assertTrue(domClass.contains(child, "mblListItemLayoutCenter"), "layout - Center");
child = dom.byId("listItemChild3"); // center
runner.assertTrue(domClass.contains(child, "mblListItemLayoutRight"), "layout - Right");
child = dom.byId("listItemChild4"); // left
runner.assertTrue(domClass.contains(child, "mblListItemLayoutLeft"), "data-mobile-layout - Left");
child = dom.byId("listItemChild5"); // center
runner.assertTrue(domClass.contains(child, "mblListItemLayoutCenter"), "data-mobile-layout - Center");
child = dom.byId("listItemChild6"); // center
runner.assertTrue(domClass.contains(child, "mblListItemLayoutRight"), "data-mobile-layout - Right");
}
]);
runner.run();
});
})
</script>
</head>
<body>
<!-- 1. "fixed" / "data-mobile-fixed" attribute for view header/footer -->
<!-- Using fixed as attribute (legacy) on widgets -->
<div id="view1" data-dojo-type="dojox/mobile/ScrollableView">
<!-- "fixed" attribute on widgets -->
<h1 id="fixedTop1" data-dojo-type="dojox/mobile/Heading"
fixed="top">Top 1</h1>
<h1 id="fixedBottom1" data-dojo-type="dojox/mobile/Heading"
fixed="bottom">Bottom 1</h1>
</div>
<!-- Using fixed as attribute (legacy) on HTML elements -->
<div id="view2" data-dojo-type="dojox/mobile/ScrollableView">
<!-- "fixed" attribute on HTML elements -->
<h1 id="fixedTop2" fixed="top">Top 2</h1>
<h1 id="fixedBottom2" fixed="bottom">Bottom 2</h1>
</div>
<!-- Using data-mobile-fixed as attribute (new in Dojo 1.9) on widgets -->
<div id="view3" data-dojo-type="dojox/mobile/ScrollableView">
<!-- "data-mobilefixed" attribute on widgets -->
<h1 id="fixedTop3" data-dojo-type="dojox/mobile/Heading"
data-mobile-fixed="top">Top 1</h1>
<h1 id="fixedBottom3" data-dojo-type="dojox/mobile/Heading"
data-mobile-fixed="bottom">Bottom 1</h1>
</div>
<!-- Using data-mobile fixed as attribute (new in Dojo 1.9) on HTML elements -->
<div id="view4" data-dojo-type="dojox/mobile/ScrollableView">
<!-- "data-mobile-fixed" attribute on HTML elements -->
<h1 id="fixedTop4" data-mobile-fixed="top">Top 2</h1>
<h1 id="fixedBottom4" data-mobile-fixed="bottom">Bottom 2</h1>
</div>
<!-- 2. "lazy" / "data-mobile-lazy" attribute for Carusel's children -->
<div id="view5" data-dojo-type="dojox/mobile/View">
<div id="carousel1" data-dojo-type="dojox/mobile/Carousel"
data-dojo-props='height:"150px", navButton:true, numVisible:2, title:"Category"'>
<div id="swapview1" data-dojo-type="dojox/mobile/SwapView">
<div data-dojo-type="dojox/mobile/CarouselItem"
data-dojo-props='src:"../images/dish1.jpg", value:"dish1", headerText:"dish1"'></div>
<div data-dojo-type="dojox/mobile/CarouselItem"
data-dojo-props='src:"../images/dish2.jpg", value:"dish2", headerText:"dish2"'></div>
</div>
<!-- Using lazy as attribute (legacy) -->
<div id="swapview2" data-dojo-type="dojox/mobile/SwapView" lazy="true">
<div data-dojo-type="dojox/mobile/CarouselItem"
data-dojo-props='src:"../images/dish3.jpg", value:"dish3", headerText:"dish3"'></div>
<div data-dojo-type="dojox/mobile/CarouselItem"
data-dojo-props='src:"../images/dish4.jpg", value:"dish4", headerText:"dish4"'></div>
</div>
<!-- Using lazy in data-dojo-props (new in Dojo 1.9) -->
<div id="swapview3" data-dojo-type="dojox/mobile/SwapView" data-dojo-props="lazy:'true'">
<div data-dojo-type="dojox/mobile/CarouselItem"
data-dojo-props='src:"../images/dish5.jpg", value:"dish5", headerText:"dish5"'></div>
<div data-dojo-type="dojox/mobile/CarouselItem"
data-dojo-props='src:"../images/dish6.jpg", value:"dish6", headerText:"dish6"'></div>
</div>
</div>
</div>
<div id="view6" data-dojo-type="dojox/mobile/View">
<ul data-dojo-type="dojox/mobile/RoundRectList">
<li data-dojo-type="dojox/mobile/ListItem">
<div id="listItemChild1" layout="left"><div>Left</div></div>
</li>
<li data-dojo-type="dojox/mobile/ListItem">
<div id="listItemChild2" layout="center">Center</div>
</li>
<li data-dojo-type="dojox/mobile/ListItem">
<div id="listItemChild3" layout="right">Right</div>
</li>
<li data-dojo-type="dojox/mobile/ListItem">
<div id="listItemChild4" data-mobile-layout="left">Left</div>
</li>
<li data-dojo-type="dojox/mobile/ListItem">
<div id="listItemChild5" data-mobile-layout="center">Center</div>
</li>
<li data-dojo-type="dojox/mobile/ListItem">
<div id="listItemChild6" data-mobile-layout="right">Right</div>
</li>
</ul>
</div>
</body>
</html>