diff --git a/exist-core/src/test/xquery/nested-positional-predicate.xqm b/exist-core/src/test/xquery/nested-positional-predicate.xqm new file mode 100644 index 00000000000..4c6a24dc6df --- /dev/null +++ b/exist-core/src/test/xquery/nested-positional-predicate.xqm @@ -0,0 +1,158 @@ +(: + : eXist-db Open Source Native XML Database + : Copyright (C) 2001 The eXist-db Authors + : + : info@exist-db.org + : http://www.exist-db.org + : + : This library is free software; you can redistribute it and/or + : modify it under the terms of the GNU Lesser General Public + : License as published by the Free Software Foundation; either + : version 2.1 of the License, or (at your option) any later version. + : + : This library is distributed in the hope that it will be useful, + : but WITHOUT ANY WARRANTY; without even the implied warranty of + : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + : Lesser General Public License for more details. + : + : You should have received a copy of the GNU Lesser General Public + : License along with this library; if not, write to the Free Software + : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + :) +xquery version "3.1"; + +module namespace npp="http://exist-db.org/test/nested-positional-predicate"; + +declare namespace xmldb="http://exist-db.org/xquery/xmldb"; +declare namespace test="http://exist-db.org/xquery/xqsuite"; + +declare variable $npp:TEST_COLLECTION_NAME := "test-positional-nested"; +declare variable $npp:TEST_COLLECTION_URI := "/db/" || $npp:TEST_COLLECTION_NAME; +declare variable $npp:TEST_DOC_NAME := "test.xml"; +declare variable $npp:TEST_DOC_URI := $npp:TEST_COLLECTION_URI || "/" || $npp:TEST_DOC_NAME; + +declare variable $npp:DATA := + document { + + + B1 + + + B2 + correct + + + B3 + wrong + + + }; + +declare + %test:setUp +function npp:setup() { + xmldb:create-collection("/db", $npp:TEST_COLLECTION_NAME), + xmldb:store($npp:TEST_COLLECTION_URI, $npp:TEST_DOC_NAME, $npp:DATA) +}; + +declare + %test:tearDown +function npp:cleanup() { + xmldb:remove($npp:TEST_COLLECTION_URI) +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-memory-1() { + {$npp:DATA//c[../preceding-sibling::a]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-memory-2() { + {$npp:DATA//c[parent::node()/preceding-sibling::a]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-memory-3() { + {$npp:DATA//c/..[preceding-sibling::a]/c} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-memory-4() { + {$npp:DATA//c/parent::node()[preceding-sibling::a]/c} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-database-1() { + {doc($npp:TEST_DOC_URI)//c[../preceding-sibling::a]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-database-2() { + {doc($npp:TEST_DOC_URI)//c[parent::node()/preceding-sibling::a]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-database-3() { + {doc($npp:TEST_DOC_URI)//c/..[preceding-sibling::a]/c} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-database-4() { + {doc($npp:TEST_DOC_URI)//c/parent::node()[preceding-sibling::a]/c} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-memory-predicate() { + {$npp:DATA//c[../preceding-sibling::a[1]]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-database-predicate() { + {doc($npp:TEST_DOC_URI)//c[../preceding-sibling::a[1]]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-memory-position() { + {$npp:DATA//c[../preceding-sibling::a[position() eq 1]]} +}; + +declare + %test:assertEquals("correctwrong") +function npp:in-database-position() { + {doc($npp:TEST_DOC_URI)//c[../preceding-sibling::a[position() eq 1]]} +}; + +declare + %test:assertEquals("correct") +function npp:in-memory-predicate-and-path() { + {$npp:DATA//c[../preceding-sibling::a[1]/b = 'B1']} +}; + +declare + %test:assertEquals("correct") +function npp:in-database-predicate-and-path() { + {doc($npp:TEST_DOC_URI)//c[../preceding-sibling::a[1]/b = 'B1']} +}; + +declare + %test:assertEquals("correct") +function npp:in-memory-position-and-path() { + {$npp:DATA//c[../preceding-sibling::a[position() eq 1]/b = 'B1']} +}; + +declare + %test:assertEquals("correct") +function npp:in-database-position-and-path() { + {doc($npp:TEST_DOC_URI)//c[../preceding-sibling::a[position() eq 1]/b = 'B1']} +}; diff --git a/exist-core/src/test/xquery/npt.xqm b/exist-core/src/test/xquery/npt.xqm deleted file mode 100644 index 51f32ba4209..00000000000 --- a/exist-core/src/test/xquery/npt.xqm +++ /dev/null @@ -1,117 +0,0 @@ -(: - : eXist-db Open Source Native XML Database - : Copyright (C) 2001 The eXist-db Authors - : - : info@exist-db.org - : http://www.exist-db.org - : - : This library is free software; you can redistribute it and/or - : modify it under the terms of the GNU Lesser General Public - : License as published by the Free Software Foundation; either - : version 2.1 of the License, or (at your option) any later version. - : - : This library is distributed in the hope that it will be useful, - : but WITHOUT ANY WARRANTY; without even the implied warranty of - : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - : Lesser General Public License for more details. - : - : You should have received a copy of the GNU Lesser General Public - : License along with this library; if not, write to the Free Software - : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - :) -xquery version "3.1"; - -module namespace npt="http://exist-db.org/test/nested-positional-predicate"; - -declare namespace test="http://exist-db.org/xquery/xqsuite"; - -declare variable $npt:DATA := - document { - - - B1 - - - B2 - correct - - - B3 - wrong - - - }; - -declare - %test:setUp -function npt:setup() { - xmldb:create-collection("/db", "test"), - xmldb:store("/db/test", "test.xml", $npt:DATA) -}; - -declare - %test:tearDown -function npt:cleanup() { - xmldb:remove("/db/test") -}; - -declare - %test:assertEquals("correctwrong") -function npt:in-memory() { - {$npt:DATA//c[../preceding-sibling::a]} -}; - -declare - %test:assertEquals("correctwrong") -function npt:in-database() { - {doc("/db/test/test.xml")//c[../preceding-sibling::a]} -}; - - -declare - %test:assertEquals("correctwrong") -function npt:in-memory-predicate() { - {$npt:DATA//c[../preceding-sibling::a[1]]} -}; - -declare - %test:assertEquals("correctwrong") -function npt:in-database-predicate() { - {doc("/db/test/test.xml")//c[../preceding-sibling::a[1]]} -}; - -declare - %test:assertEquals("correctwrong") -function npt:in-memory-position() { - {$npt:DATA//c[../preceding-sibling::a[position() eq 1]]} -}; - -declare - %test:assertEquals("correctwrong") -function npt:in-database-position() { - {doc("/db/test/test.xml")//c[../preceding-sibling::a[position() eq 1]]} -}; - -declare - %test:assertEquals("correct") -function npt:in-memory-predicate-and-path() { - {$npt:DATA//c[../preceding-sibling::a[1]/b = 'B1']} -}; - -declare - %test:assertEquals("correct") -function npt:in-database-predicate-and-path() { - {doc("/db/test/test.xml")//c[../preceding-sibling::a[1]/b = 'B1']} -}; - -declare - %test:assertEquals("correct") -function npt:in-memory-position-and-path() { - {$npt:DATA//c[../preceding-sibling::a[position() eq 1]/b = 'B1']} -}; - -declare - %test:assertEquals("correct") -function npt:in-database-position-and-path() { - {doc("/db/test/test.xml")//c[../preceding-sibling::a[position() eq 1]/b = 'B1']} -}; diff --git a/exist-core/src/test/xquery/positional-nested.xql b/exist-core/src/test/xquery/positional-nested.xql deleted file mode 100644 index 671aab2b9d8..00000000000 --- a/exist-core/src/test/xquery/positional-nested.xql +++ /dev/null @@ -1,157 +0,0 @@ -(: - : eXist-db Open Source Native XML Database - : Copyright (C) 2001 The eXist-db Authors - : - : info@exist-db.org - : http://www.exist-db.org - : - : This library is free software; you can redistribute it and/or - : modify it under the terms of the GNU Lesser General Public - : License as published by the Free Software Foundation; either - : version 2.1 of the License, or (at your option) any later version. - : - : This library is distributed in the hope that it will be useful, - : but WITHOUT ANY WARRANTY; without even the implied warranty of - : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - : Lesser General Public License for more details. - : - : You should have received a copy of the GNU Lesser General Public - : License along with this library; if not, write to the Free Software - : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - :) -xquery version "3.1"; - -module namespace npt="http://exist-db.org/test/nested-positional-predicate"; - -declare namespace test="http://exist-db.org/xquery/xqsuite"; - -declare variable $npt:TEST_COLLECTION_NAME := "test-positional-nested"; -declare variable $npt:TEST_COLLECTION_URI := "/db/" || $npt:TEST_COLLECTION_NAME; -declare variable $npt:TEST_DOC_NAME := "test.xml"; -declare variable $npt:TEST_DOC_URI := $npt:TEST_COLLECTION_URI || "/" || $npt:TEST_DOC_NAME; - -declare variable $npt:DATA := - document { - - - B1 - - - B2 - correct - - - B3 - wrong - - - }; - -declare - %test:setUp -function npt:setup() { - xmldb:create-collection("/db", $npt:TEST_COLLECTION_NAME), - xmldb:store($npt:TEST_COLLECTION_URI, $npt:TEST_DOC_NAME, $npt:DATA) -}; - -declare - %test:tearDown -function npt:cleanup() { - xmldb:remove($npt:TEST_COLLECTION_URI) -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-memory-1() { - $npt:DATA//c[../preceding-sibling::a] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-memory-2() { - $npt:DATA//c[parent::node()/preceding-sibling::a] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-memory-3() { - $npt:DATA//c/..[preceding-sibling::a]/c -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-memory-4() { - $npt:DATA//c/parent::node()[preceding-sibling::a]/c -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-database-1() { - doc($npt:TEST_DOC_URI)//c[../preceding-sibling::a] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-database-2() { - doc($npt:TEST_DOC_URI)//c[parent::node()/preceding-sibling::a] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-database-3() { - doc($npt:TEST_DOC_URI)//c/..[preceding-sibling::a]/c -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-database-4() { - doc($npt:TEST_DOC_URI)//c/parent::node()[preceding-sibling::a]/c -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-memory-predicate() { - $npt:DATA//c[../preceding-sibling::a[1]] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-database-predicate() { - doc($npt:TEST_DOC_URI)//c[../preceding-sibling::a[1]] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-memory-position() { - $npt:DATA//c[../preceding-sibling::a[position() eq 1]] -}; - -declare - %test:assertEquals("correct", "wrong") -function npt:in-database-position() { - doc($npt:TEST_DOC_URI)//c[../preceding-sibling::a[position() eq 1]] -}; - -declare - %test:assertEquals("correct") -function npt:in-memory-predicate-and-path() { - $npt:DATA//c[../preceding-sibling::a[1]/b = 'B1'] -}; - -declare - %test:assertEquals("correct") -function npt:in-database-predicate-and-path() { - doc($npt:TEST_DOC_URI)//c[../preceding-sibling::a[1]/b = 'B1'] -}; - -declare - %test:assertEquals("correct") -function npt:in-memory-position-and-path() { - $npt:DATA//c[../preceding-sibling::a[position() eq 1]/b = 'B1'] -}; - -declare - %test:assertEquals("correct") -function npt:in-database-position-and-path() { - doc($npt:TEST_DOC_URI)//c[../preceding-sibling::a[position() eq 1]/b = 'B1'] -};