1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<!--
grid element
-->
<window title="XUL Template Tests" width="500" height="600"
onload="test_template();"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
<data id="output">
<columns>
<column/>
<column/>
</columns>
<rows>
<label step="3" id="http://www.some-fictitious-zoo.com/birds/wren" value="The coolest animal is: Wren"/>
<row id="http://www.some-fictitious-zoo.com/birds/emu">
<label value="Emu"/>
<label value="Birds"/>
</row>
<label step="-4" id="http://www.some-fictitious-zoo.com/birds/barnowl" value="The coolest animal is: Barn Owl"/>
<row id="http://www.some-fictitious-zoo.com/birds/raven">
<label value="Raven"/>
<label value="Birds"/>
</row>
<row step="2" id="http://www.some-fictitious-zoo.com/birds/archaeopteryx">
<label value="Archaeopteryx"/>
<label value="Birds"/>
</row>
<label step="1" id="http://www.some-fictitious-zoo.com/birds/emperorpenguin" value="The coolest animal is: Emperor Penguin"/>
</rows>
</data>
<script src="templates_shared.js"/>
<script>
<![CDATA[
SimpleTest.waitForExplicitFinish();
var testid ="grid element";
var queryType = "rdf";
var isTreeBuilder = false;
var needsOpen = false;
var notWorkingYet = false;
var notWorkingYetDynamic = false;
var expectedOutput = document.getElementById("output");
var changes = [
// step 1
function(targetds, root) {
var newnode = RDF.GetResource(ZOO_NS + 'birds/emperorpenguin');
targetds.Assert(newnode, RDF.GetResource(ZOO_NS + 'rdf#name'),
RDF.GetLiteral('Emperor Penguin'), true);
var container = ContainerUtils.MakeSeq(targetds,
RDF.GetResource(ZOO_NS + 'birds'));
container.AppendElement(newnode);
},
// step 2
function(targetds, root) {
var newnode = RDF.GetResource(ZOO_NS + 'birds/archaeopteryx');
targetds.Assert(newnode, RDF.GetResource(ZOO_NS + 'rdf#name'),
RDF.GetLiteral('Archaeopteryx'), true);
var container = ContainerUtils.MakeSeq(targetds,
RDF.GetResource(ZOO_NS + 'birds'));
container.InsertElementAt(newnode, '4', true);
},
// step 3
function(targetds, root) {
var newnode = RDF.GetResource(ZOO_NS + 'birds/wren');
targetds.Assert(newnode, RDF.GetResource(ZOO_NS + 'rdf#name'),
RDF.GetLiteral('Wren'), true);
var container = ContainerUtils.MakeSeq(targetds,
RDF.GetResource(ZOO_NS + 'birds'));
container.InsertElementAt(newnode, '1', true);
},
// step 4
function(targetds, root) {
var container = ContainerUtils.MakeSeq(targetds,
RDF.GetResource(ZOO_NS + 'birds'));
var removednode = container.RemoveElementAt('3', true);
targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
RDF.GetLiteral('Barn Owl'), true);
}
];
]]>
</script>
<grid xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
<columns>
<column/>
<column/>
</columns>
<template>
<query>
<content uri="?uri"/>
<member container="?uri" child="?child"/>
<triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?classname"/>
<triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
</query>
<rule>
<conditions>
<where subject="?name" rel="equals" value="Raven" negate="true"/>
<where subject="?name" rel="contains" value="n"/>
</conditions>
<action>
<rows>
<label uri="?child" value="The coolest animal is: ?name"/>
</rows>
</action>
</rule>
<rule>
<action>
<rows>
<row uri="?child">
<label value="?name"/>
<label value="?classname"/>
</row>
</rows>
</action>
</rule>
</template>
</grid>
</window>
|