1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,215 @@ 1.4 +<?xml version="1.0"?> 1.5 +<?xml-stylesheet href="chrome://global/skin" type="text/css"?> 1.6 +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> 1.7 + 1.8 +<!-- 1.9 + tree element - query syntax recursive 1.10 +--> 1.11 + 1.12 +<window title="XUL Template Tests" width="500" height="600" 1.13 + onload="test_template();" 1.14 + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 1.15 + <script type="application/javascript" 1.16 + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.17 + 1.18 + <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/> 1.19 + 1.20 + <data id="output"> 1.21 + <treecols id="treecols" orient="horizontal"> 1.22 + <treecol id="treecol" primary="true" label="Name" ordinal="1"/> 1.23 + <treecol label="Species" ordinal="3"/> 1.24 + </treecols> 1.25 + <treechildren> 1.26 + <treeitem id="http://www.some-fictitious-zoo.com/humans/sarah"> 1.27 + <treerow> 1.28 + <treecell label="Sarah"/> 1.29 + <treecell/> 1.30 + </treerow> 1.31 + </treeitem> 1.32 + <treeitem step="-1" id="http://www.some-fictitious-zoo.com/mammals" container="true" empty="false"> 1.33 + <treerow> 1.34 + <treecell label="Mammals"/> 1.35 + <treecell/> 1.36 + </treerow> 1.37 + </treeitem> 1.38 + <treeitem step="1" id="http://www.some-fictitious-zoo.com/mammals" container="true" empty="false" open="true"> 1.39 + <treerow> 1.40 + <treecell label="Mammals"/> 1.41 + <treecell/> 1.42 + </treerow> 1.43 + <treechildren> 1.44 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/lion"> 1.45 + <treerow> 1.46 + <treecell label="Lion"/> 1.47 + <treecell/> 1.48 + </treerow> 1.49 + </treeitem> 1.50 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/hippopotamus"> 1.51 + <treerow> 1.52 + <treecell label="HIPPOPOTAMUS"/> 1.53 + <treecell/> 1.54 + </treerow> 1.55 + </treeitem> 1.56 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/africanelephant"> 1.57 + <treerow> 1.58 + <treecell label="African Elephant"/> 1.59 + <treecell/> 1.60 + </treerow> 1.61 + </treeitem> 1.62 + <treeitem step="2" id="http://www.some-fictitious-zoo.com/mammals/koala"> 1.63 + <treerow> 1.64 + <treecell label="Koala"/> 1.65 + <treecell/> 1.66 + </treerow> 1.67 + </treeitem> 1.68 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/llama"> 1.69 + <treerow> 1.70 + <treecell label="LLAMA"/> 1.71 + <treecell/> 1.72 + </treerow> 1.73 + </treeitem> 1.74 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/polarbear"> 1.75 + <treerow> 1.76 + <treecell label="Polar Bear"/> 1.77 + <treecell/> 1.78 + </treerow> 1.79 + </treeitem> 1.80 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/aardvark"> 1.81 + <treerow> 1.82 + <treecell label="aardvark"/> 1.83 + <treecell/> 1.84 + </treerow> 1.85 + </treeitem> 1.86 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo"> 1.87 + <treerow> 1.88 + <treecell label="Nine-banded Armadillo"/> 1.89 + <treecell/> 1.90 + </treerow> 1.91 + </treeitem> 1.92 + <treeitem id="http://www.some-fictitious-zoo.com/mammals/gorilla"> 1.93 + <treerow> 1.94 + <treecell label="Gorilla"/> 1.95 + <treecell/> 1.96 + </treerow> 1.97 + </treeitem> 1.98 + </treechildren> 1.99 + </treeitem> 1.100 + <treeitem step="-3" id="http://www.some-fictitious-zoo.com/crustaceans" container="true" empty="true"> 1.101 + <treerow> 1.102 + <treecell label="Crustaceans"/> 1.103 + <treecell/> 1.104 + </treerow> 1.105 + </treeitem> 1.106 + <treeitem step="3,-4" id="http://www.some-fictitious-zoo.com/crustaceans" container="true" empty="false"> 1.107 + <treerow> 1.108 + <treecell label="Crustaceans"/> 1.109 + <treecell/> 1.110 + </treerow> 1.111 + </treeitem> 1.112 + <treeitem step="4" id="http://www.some-fictitious-zoo.com/crustaceans" container="true" empty="false" open="true"> 1.113 + <treerow> 1.114 + <treecell label="Crustaceans"/> 1.115 + <treecell/> 1.116 + </treerow> 1.117 + <treechildren> 1.118 + <treeitem id="http://www.some-fictitious-zoo.com/crustaceans/lobster"> 1.119 + <treerow> 1.120 + <treecell label="Lobster"/> 1.121 + <treecell/> 1.122 + </treerow> 1.123 + </treeitem> 1.124 + </treechildren> 1.125 + </treeitem> 1.126 + <treeitem id="http://www.some-fictitious-zoo.com/birds/emu"> 1.127 + <treerow> 1.128 + <treecell label="Emu"/> 1.129 + <treecell/> 1.130 + </treerow> 1.131 + </treeitem> 1.132 + </treechildren> 1.133 + </data> 1.134 + 1.135 +<script src="templates_shared.js"/> 1.136 + 1.137 +<script> 1.138 +<![CDATA[ 1.139 +SimpleTest.waitForExplicitFinish(); 1.140 + 1.141 +var testid ="tree element - query syntax recursive"; 1.142 +var queryType = "rdf"; 1.143 +var isTreeBuilder = false; 1.144 +var needsOpen = false; 1.145 +var notWorkingYet = false; 1.146 +var notWorkingYetDynamic = true; 1.147 +var expectedOutput = document.getElementById("output"); 1.148 + 1.149 +var changes = [ 1.150 + // step 1 1.151 + function(targetds, root) { 1.152 + if (root.view && 1 < root.view.rowCount && root.view.isContainer(1)) 1.153 + root.view.toggleOpenState(1); 1.154 + }, 1.155 + // step 2 1.156 + function(targetds, root) { 1.157 + var newnode = RDF.GetResource(ZOO_NS + 'mammals/koala'); 1.158 + targetds.Assert(newnode, RDF.GetResource(ZOO_NS + 'rdf#name'), 1.159 + RDF.GetLiteral('Koala'), true); 1.160 + var container = ContainerUtils.MakeSeq(targetds, 1.161 + RDF.GetResource(ZOO_NS + 'mammals')); 1.162 + container.InsertElementAt(newnode, '4', true); 1.163 + }, 1.164 + // step 3 1.165 + function(targetds, root) { 1.166 + var newnode = RDF.GetResource(ZOO_NS + 'crustaceans/lobster'); 1.167 + targetds.Assert(newnode, RDF.GetResource(ZOO_NS + 'rdf#name'), 1.168 + RDF.GetLiteral('Lobster'), true); 1.169 + var container = ContainerUtils.MakeSeq(targetds, 1.170 + RDF.GetResource(ZOO_NS + 'crustaceans')); 1.171 + container.AppendElement(newnode); 1.172 + }, 1.173 + // step 4 1.174 + function(targetds, root) { 1.175 + if (root.view && 11 < root.view.rowCount && root.view.isContainer(11)) 1.176 + root.view.toggleOpenState(11); 1.177 + }, 1.178 + // step 5 1.179 + function(targetds, root) { 1.180 + if (root.view && 11 < root.view.rowCount && root.view.isContainer(11)) 1.181 + root.view.toggleOpenState(11); 1.182 + }, 1.183 + // step 6 1.184 + function(targetds, root) { 1.185 + if (root.view && 1 < root.view.rowCount && root.view.isContainer(1)) 1.186 + root.view.toggleOpenState(1); 1.187 + } 1.188 +]; 1.189 +]]> 1.190 +</script> 1.191 + 1.192 +<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" id="root"> 1.193 +<treecols orient="horizontal" id="treecols"> 1.194 +<treecol id="treecol" primary="true" label="Name"/> 1.195 +<treecol label="Species"/> 1.196 +</treecols> 1.197 +<template id="template"> 1.198 +<query> 1.199 +<content uri="?uri"/> 1.200 +<member container="?uri" child="?child"/> 1.201 +<triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/> 1.202 +</query> 1.203 +<rule> 1.204 +<action> 1.205 +<treechildren> 1.206 +<treeitem uri="?child"> 1.207 +<treerow> 1.208 +<treecell label="?name"/> 1.209 +<treecell/> 1.210 +</treerow> 1.211 +</treeitem> 1.212 +</treechildren> 1.213 +</action> 1.214 +</rule> 1.215 +</template> 1.216 +</tree> 1.217 + 1.218 +</window>