Skip to content

Commit ece817f

Browse files
authored
Merge pull request #4778 from line-o/xqsuite/safe-ebv
[refactor] XQSuite for readability
2 parents 493c65b + e8dbc7a commit ece817f

File tree

1 file changed

+16
-21
lines changed
  • exist-core/src/main/resources/org/exist/xquery/lib/xqsuite

1 file changed

+16
-21
lines changed

exist-core/src/main/resources/org/exist/xquery/lib/xqsuite/xqsuite.xql

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -905,31 +905,26 @@ declare %private function test:assertTrue($result as item()*) as element(report)
905905
</report>
906906
};
907907

908+
declare %private function test:safe-effective-boolean-value ($result as item()*) as xs:boolean {
909+
try {
910+
boolean($result)
911+
} catch err:FORG0006 {
912+
false()
913+
}
914+
};
915+
908916
(:~
909917
: Check if the function caused an error.
910918
:)
911919
declare %private function test:assertError($value as xs:string, $result as item()*) as element(report)? {
912-
let $ebv :=
913-
try {
914-
if ($result)
915-
then
916-
fn:true()
917-
else
918-
fn:false()
919-
} catch err:FORG0006 {
920-
fn:false()
921-
}
922-
return
923-
924-
if ($ebv)
925-
then
926-
()
927-
else
928-
<report>
929-
<failure message="assertError failed. Expected error {$value}"
930-
type="failure-error-code-1"/>
931-
<output>{ $result }</output>
932-
</report>
920+
if (test:safe-effective-boolean-value($result))
921+
then ()
922+
else
923+
<report>
924+
<failure message="assertError failed. Expected error {$value}"
925+
type="failure-error-code-1"/>
926+
<output>{ $result }</output>
927+
</report>
933928
};
934929

935930
(:~

0 commit comments

Comments
 (0)