diff options
Diffstat (limited to 'dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul')
-rw-r--r-- | dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul b/dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul new file mode 100644 index 000000000..1f6627931 --- /dev/null +++ b/dom/xul/templates/tests/chrome/test_tmpl_querysettwo.xul @@ -0,0 +1,117 @@ +<?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"?> + +<!-- + queryset - two +--> + +<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"> + <button step="3" id="http://www.some-fictitious-zoo.com/birds/wren" label="Wren"/> + <button id="http://www.some-fictitious-zoo.com/birds/emu" label="Emu"/> + <checkbox step="-4" id="http://www.some-fictitious-zoo.com/birds/barnowl" label="Barn Owl"/> + <button id="http://www.some-fictitious-zoo.com/birds/raven" label="Raven"/> + <button step="2" id="http://www.some-fictitious-zoo.com/birds/archaeopteryx" label="Archaeopteryx"/> + <button step="1" id="http://www.some-fictitious-zoo.com/birds/emperorpenguin" label="Emperor Penguin"/> + </data> + +<script src="templates_shared.js"/> + +<script> +<![CDATA[ +SimpleTest.waitForExplicitFinish(); + +var testid ="queryset - two"; +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); + expectConsoleMessage(ZOO_NS + 'birds', ZOO_NS + 'birds/emperorpenguin', true, true, + '2 matching rule 1'); + }, + // 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); + expectConsoleMessage(ZOO_NS + 'birds', ZOO_NS + 'birds/archaeopteryx', true, true, + '2 matching rule 1'); + }, + // 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); + expectConsoleMessage(ZOO_NS + 'birds', ZOO_NS + 'birds/wren', true, true, + '2 matching rule 1'); + }, + // 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); + expectConsoleMessage(ZOO_NS + 'birds', ZOO_NS + 'birds/barnowl', false, false, + '2 (active query is 1)'); + expectConsoleMessage(ZOO_NS + 'birds', ZOO_NS + 'birds/barnowl', false, true, + '1 (no new active query)'); + } +]; +]]> +</script> + +<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" flags="logging" + datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds"> +<template> +<queryset> +<query> +<content uri="?uri"/> +<member container="?uri" child="?animal"/> +<triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="Barn Owl"/> +<triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/> +</query> +<action> +<checkbox uri="?animal" label="?name"/> +</action> +</queryset> +<queryset> +<query> +<content uri="?uri"/> +<member container="?uri" child="?animal"/> +<triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/> +</query> +<action> +<button uri="?animal" label="?name"/> +</action> +</queryset> +</template> +</vbox> + +</window> |