Skip to content

Commit 94b69cf

Browse files
line-oadamretter
authored andcommitted
[test] fix XQsuite tests that use an absolute XPath
Since all XQuery tests are functions, absolute XPaths cannot be used.
1 parent 4963023 commit 94b69cf

File tree

3 files changed

+40
-40
lines changed

3 files changed

+40
-40
lines changed

exist-core/src/test/xquery/xquery3/bang.xql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,9 @@ function bang:constructor() {
164164
};
165165

166166
declare
167-
%test:assertTrue
167+
%test:assertEquals("a", "b", "c")
168168
function bang:implicit-context() {
169-
count(//* ! local-name(.))
169+
document { <a><b/><c/></a> } ! //* ! local-name(.)
170170
};
171171

172172
declare

extensions/indexes/range/src/test/xquery/range/optimizer.xql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ declare
690690
%test:args("Млатишума")
691691
%test:assertEquals(2)
692692
function ot:eq-string-collation-with-diacritics($name) {
693-
count(//tei:form[tei:orth = $name])
693+
count(collection($ot:COLLECTION)//tei:form[tei:orth = $name])
694694
};
695695

696696
declare
@@ -699,7 +699,7 @@ declare
699699
%test:args("Млатишума")
700700
%test:assertError("range:EXXQDYFT0001")
701701
function ot:contains-string-collation-with-diacritics($name) {
702-
count(//tei:form[contains(tei:orth, $name)])
702+
count(collection($ot:COLLECTION)//tei:form[contains(tei:orth, $name)])
703703
};
704704

705705
declare
@@ -708,7 +708,7 @@ declare
708708
%test:args("Млатишума")
709709
%test:assertEquals(0)
710710
function ot:ne-string-collation-with-diacritics($name) {
711-
count(//tei:form[tei:orth != $name])
711+
count(collection($ot:COLLECTION)//tei:form[tei:orth != $name])
712712
};
713713

714714
(:~ See XPath general comparison optimisation bug #2786 :)

extensions/indexes/range/src/test/xquery/range/range.xql

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ declare
127127
%test:args("Berta Muh")
128128
%test:assertEquals("Almweide")
129129
function rt:equality-string($name as xs:string) {
130-
//address[range:eq(name, $name)]/city/text()
130+
collection("/db/rangetest")//address[range:eq(name, $name)]/city/text()
131131
};
132132

133133
declare
@@ -136,22 +136,22 @@ declare
136136
%test:args("Berta Muh")
137137
%test:assertEquals("Berta Muh")
138138
function rt:equality-string-self($name as xs:string) {
139-
normalize-space(//address/name[range:eq(., $name)]/text())
139+
normalize-space(collection("/db/rangetest")//address/name[range:eq(., $name)]/text())
140140
};
141141

142142
declare
143143
%test:args(65428)
144144
%test:assertEquals("Rüsselsheim", "Rüsselsheim")
145145
function rt:equality-int-attribute($code as xs:integer) {
146-
//address/city[range:eq(@code, $code)]/text(),
147-
//address[range:eq(city/@code, $code)]/city/text()
146+
collection("/db/rangetest")//address/city[range:eq(@code, $code)]/text(),
147+
collection("/db/rangetest")//address[range:eq(city/@code, $code)]/city/text()
148148
};
149149

150150
declare
151151
%test:args("muh")
152152
%test:assertEquals("Berta Muh")
153153
function rt:equality-qname-string-attribute($id as xs:string) {
154-
normalize-space(//address[range:eq(@id, $id)]/name/text())
154+
normalize-space(collection("/db/rangetest")//address[range:eq(@id, $id)]/name/text())
155155
};
156156

157157
declare
@@ -160,7 +160,7 @@ declare
160160
%test:args("almweide")
161161
%test:assertEquals("Almweide")
162162
function rt:equality-string-collation($name as xs:string) {
163-
//address[range:eq(city, $name)]/city/text()
163+
collection("/db/rangetest")//address[range:eq(city, $name)]/city/text()
164164
};
165165

166166
declare
@@ -169,14 +169,14 @@ declare
169169
%test:args("Pü Reh")
170170
%test:assertEquals("Wiesental")
171171
function rt:equality-fields($name as xs:string) {
172-
//range:field-eq("address-name", $name)/city/text()
172+
collection("/db/rangetest")//range:field-eq("address-name", $name)/city/text()
173173
};
174174

175175
declare
176176
%test:args(65428)
177177
%test:assertEquals("Rudi Rüssel")
178178
function rt:equality-field-integer($code as xs:integer) {
179-
//range:field-eq("address-code", $code)/name/text()
179+
collection("/db/rangetest")//range:field-eq("address-code", $code)/name/text()
180180
};
181181

182182
declare
@@ -194,7 +194,7 @@ declare
194194
%test:args("Pü Reh", "Wiesental")
195195
%test:assertEquals("Wiesental")
196196
function rt:equality-fields-multi($name as xs:string, $city as xs:string) {
197-
//range:field-eq(("address-name", "address-city"), $name, $city)/city/text()
197+
collection("/db/rangetest")//range:field-eq(("address-name", "address-city"), $name, $city)/city/text()
198198
};
199199

200200
(:declare :)
@@ -212,7 +212,7 @@ declare
212212
%test:args("Pü Reh")
213213
%test:assertEquals(1)
214214
function rt:gt-string($name as xs:string) {
215-
count(//address[range:gt(name, $name)])
215+
count(collection("/db/rangetest")//address[range:gt(name, $name)])
216216
};
217217

218218
declare
@@ -223,7 +223,7 @@ declare
223223
%test:args("Pü Reh")
224224
%test:assertEquals(2)
225225
function rt:ge-string($name as xs:string) {
226-
count(//address[range:ge(name, $name)])
226+
count(collection("/db/rangetest")//address[range:ge(name, $name)])
227227
};
228228

229229
declare
@@ -234,7 +234,7 @@ declare
234234
%test:args("Pü Reh")
235235
%test:assertEquals(2)
236236
function rt:lt-string($name as xs:string) {
237-
count(//address[range:lt(name, $name)])
237+
count(collection("/db/rangetest")//address[range:lt(name, $name)])
238238
};
239239

240240
declare
@@ -245,7 +245,7 @@ declare
245245
%test:args("Pü Reh")
246246
%test:assertEquals(3)
247247
function rt:le-string($name as xs:string) {
248-
count(//address[range:le(name, $name)])
248+
count(collection("/db/rangetest")//address[range:le(name, $name)])
249249
};
250250

251251
declare
@@ -256,7 +256,7 @@ declare
256256
%test:args(65463)
257257
%test:assertEquals(2)
258258
function rt:gt-integer($code as xs:integer) {
259-
count(//address[range:gt(city/@code, $code)])
259+
count(collection("/db/rangetest")//address[range:gt(city/@code, $code)])
260260
};
261261

262262
declare
@@ -267,7 +267,7 @@ declare
267267
%test:args(65463)
268268
%test:assertEquals(3)
269269
function rt:ge-integer($code as xs:integer) {
270-
count(//address[range:ge(city/@code, $code)])
270+
count(collection("/db/rangetest")//address[range:ge(city/@code, $code)])
271271
};
272272

273273
declare
@@ -276,7 +276,7 @@ declare
276276
%test:args(65463)
277277
%test:assertEquals(1)
278278
function rt:lt-integer($code as xs:integer) {
279-
count(//address[range:lt(city/@code, $code)])
279+
count(collection("/db/rangetest")//address[range:lt(city/@code, $code)])
280280
};
281281

282282
declare
@@ -285,7 +285,7 @@ declare
285285
%test:args(65463)
286286
%test:assertEquals(2)
287287
function rt:le-integer($code as xs:integer) {
288-
count(//address[range:le(city/@code, $code)])
288+
count(collection("/db/rangetest")//address[range:le(city/@code, $code)])
289289
};
290290

291291
declare
@@ -294,7 +294,7 @@ declare
294294
%test:args("Berta")
295295
%test:assertEquals("Almweide")
296296
function rt:starts-with-string($name as xs:string) {
297-
//address[range:starts-with(name, $name)]/city/text()
297+
collection("/db/rangetest")//address[range:starts-with(name, $name)]/city/text()
298298
};
299299

300300
declare
@@ -303,7 +303,7 @@ declare
303303
%test:args("Muh")
304304
%test:assertEquals("Almweide")
305305
function rt:ends-with-string($name as xs:string) {
306-
//address[range:ends-with(name, $name)]/city/text()
306+
collection("/db/rangetest")//address[range:ends-with(name, $name)]/city/text()
307307
};
308308

309309
declare
@@ -312,14 +312,14 @@ declare
312312
%test:args("ta M")
313313
%test:assertEquals("Almweide")
314314
function rt:contains-string($name as xs:string) {
315-
//address[range:contains(name, $name)]/city/text()
315+
collection("/db/rangetest")//address[range:contains(name, $name)]/city/text()
316316
};
317317

318318
declare
319319
%test:args(".*Rüssel")
320320
%test:assertEquals("Rüsselsheim")
321321
function rt:matches-string($name as xs:string) {
322-
//address[range:matches(name, $name)]/city/text()
322+
collection("/db/rangetest")//address[range:matches(name, $name)]/city/text()
323323
};
324324

325325
declare
@@ -328,7 +328,7 @@ declare
328328
%test:args("Berta")
329329
%test:assertEquals("Almweide")
330330
function rt:field-starts-with-string($name as xs:string) {
331-
//range:field-starts-with("address-name", $name)/city/text()
331+
collection("/db/rangetest")//range:field-starts-with("address-name", $name)/city/text()
332332
};
333333

334334
declare
@@ -337,7 +337,7 @@ declare
337337
%test:args("Muh")
338338
%test:assertEquals("Almweide")
339339
function rt:field-ends-with-string($name as xs:string) {
340-
//range:field-ends-with("address-name", $name)/city/text()
340+
collection("/db/rangetest")//range:field-ends-with("address-name", $name)/city/text()
341341
};
342342

343343
declare
@@ -346,7 +346,7 @@ declare
346346
%test:args("ta M")
347347
%test:assertEquals("Almweide")
348348
function rt:field-contains-string($name as xs:string) {
349-
//range:field-contains("address-name", $name)/city/text()
349+
collection("/db/rangetest")//range:field-contains("address-name", $name)/city/text()
350350
};
351351

352352
declare
@@ -355,7 +355,7 @@ declare
355355
%test:args(".*ta M.*")
356356
%test:assertEquals("Almweide")
357357
function rt:field-matches-string($name as xs:string) {
358-
//range:field-matches("address-name", $name)/city/text()
358+
collection("/db/rangetest")//range:field-matches("address-name", $name)/city/text()
359359
};
360360

361361
declare
@@ -366,7 +366,7 @@ declare
366366
%test:args("main", "official", "Dorfprozelten")
367367
%test:assertEquals("Dorfprozelten")
368368
function rt:equality-field-nested($type as xs:string, $subtype as xs:string, $name as xs:string) {
369-
//range:field-eq(("type", "subtype", "name"), $type, $subtype, $name)/text()
369+
collection("/db/rangetest")//range:field-eq(("type", "subtype", "name"), $type, $subtype, $name)/text()
370370
};
371371

372372
declare
@@ -391,39 +391,39 @@ function rt:update-insert() {
391391
</address>
392392
into doc("/db/rangetest/test.xml")/test,
393393
range:field-eq("address-name", "Willi Wiesel")/street/text(),
394-
//address[range:eq(name, "Willi Wiesel")]/city/text()
394+
collection("/db/rangetest")//address[range:eq(name, "Willi Wiesel")]/city/text()
395395
};
396396

397397
declare
398398
%test:assertEmpty
399399
function rt:update-delete() {
400-
update delete /test/address[range:eq(name, "Berta Muh")],
401-
//address[range:eq(name, "Berta Muh")],
400+
update delete collection("/db/rangetest")/test/address[range:eq(name, "Berta Muh")],
401+
collection("/db/rangetest")//address[range:eq(name, "Berta Muh")],
402402
range:field-eq("address-name", "Berta Muh")
403403
};
404404

405405
declare
406406
%test:assertEquals("Am Staudamm 3", "Bach")
407407
function rt:update-replace() {
408-
update replace /test/address[range:eq(name, "Albert Amsel")]
408+
update replace collection("/db/rangetest")/test/address[range:eq(name, "Albert Amsel")]
409409
with
410410
<address>
411411
<name>Berta Bieber</name>
412412
<street>Am Staudamm 3</street>
413413
<city code="77777">Bach</city>
414414
</address>,
415-
//address[range:eq(name, "Albert Amsel")],
415+
collection("/db/rangetest")//address[range:eq(name, "Albert Amsel")],
416416
range:field-eq("address-name", "Albert Amsel"),
417-
//address[range:eq(name, "Berta Bieber")]/street/text(),
417+
collection("/db/rangetest")//address[range:eq(name, "Berta Bieber")]/street/text(),
418418
range:field-eq("address-name", "Berta Bieber")/city/text()
419419
};
420420

421421
declare
422422
%test:assertEquals("Am Waldrand 4", "Wiesental")
423423
function rt:update-value() {
424-
update value /test/address/name[range:eq(., "Pü Reh")] with "Rita Rebhuhn",
425-
//address[range:eq(name, "Pü Reh")],
424+
update value collection("/db/rangetest")/test/address/name[range:eq(., "Pü Reh")] with "Rita Rebhuhn",
425+
collection("/db/rangetest")//address[range:eq(name, "Pü Reh")],
426426
range:field-eq("address-name", "Pü Reh"),
427-
//address[range:eq(name, "Rita Rebhuhn")]/street/text(),
427+
collection("/db/rangetest")//address[range:eq(name, "Rita Rebhuhn")]/street/text(),
428428
range:field-eq("address-name", "Rita Rebhuhn")/city/text()
429429
};

0 commit comments

Comments
 (0)