Status report on testing

I thought it might be useful to publish a report showing where we are on testing of new features. The report is incomplete (there are some tests that are not yet properly tagged) but it hopefully gives a flavour of where we are. It also perhaps serves as a reminder of the progress we have made in defining new features in the spec. For each category, @count is the number of tests.

The tests do include some for features that aren't in the spec and are perhaps unlikely to make it into the spec. There's lots of detail to be sorted out.

This does not include XSLT tests. Some XPath features, such as type-subtype relations among record tests, are at present more thoroughly covered in XSLT tests.

Of course, new tests are always welcome!

   <tests change="array-build"
           count="4"
           description="New function array:build"/>
   <tests change="array-foot" count="9" description="New function array:foot"/>
   <tests change="array-get"
           count="7"
           description="Extra argument to array:get"/>
   <tests change="array-members"
           count="6"
           description="New function array:members"/>
   <tests change="array-of"
           count="6"
           description="Extra argument to array:of"/>
   <tests change="array-partition"
           count="22"
           description="New function array:partition"/>
   <tests change="array-slice"
           count="71"
           description="New function array:slice"/>
   <tests change="array-trunk"
           count="6"
           description="New function array:trunk"/>
   <tests change="binary-literals"
           count="8"
           description="Binary notation in numeric literals"/>
   <tests change="defaulted-params"
           count="36"
           description="Default params in function declarations"/>
   <tests change="downcasting"
           count="8"
           description="Downcasting in coercion rules"/>
   <tests change="fn-all" count="18" description="New function fn:all"/>
   <tests change="fn-all-different"
           count="28"
           description="New function fn:all-different"/>
   <tests change="fn-all-equal"
           count="28"
           description="New function fn:all-equal"/>
   <tests change="fn-atomic-equal"
           count="29"
           description="New function fn:atomic-equal"/>
   <tests change="fn-build-uri"
           count="39"
           description="New function fn:build-uri"/>
   <tests change="fn-char" count="34" description="New function fn:char"/>
   <tests change="fn-characters"
           count="12"
           description="New function fn:characters"/>
   <tests change="fn-codepoints-to-string"
           count="7"
           description="Function fn:codepoints-to-string becomes variadic (TODO???)"/>
   <tests change="fn-concat"
           count="14"
           description="Function fn:concat allows sequence-valued arguments (TODO???)"/>
   <tests change="fn-contains-sequence"
           count="31"
           description="New function fn:contains-sequence"/>
   <tests change="fn-deep-equal"
           count="85"
           description="New options argument to function fn:deep-equal"/>
   <tests change="fn-ends-with-sequence"
           count="31"
           description="New function fn:ends-with-sequence"/>
   <tests change="fn-expanded-QName"
           count="9"
           description="New function fn:expanded-QName"/>
   <tests change="fn-foot" count="8" description="New function fn:foot"/>
   <tests change="fn-format-integer"
           count="16"
           description="Changes to fn:format-integer, for example hex and binary output"/>
   <tests change="fn-format-number"
           count="2"
           description="Changes to fn:format-number, decimal format supplied as QName"/>
   <tests change="fn-highest"
           count="32"
           description="New function fn:highest"/>
   <tests change="fn-identity"
           count="5"
           description="New function fn:identity"/>
   <tests change="fn-in-scope-namespaces"
           count="9"
           description="New function fn:in-scope-namespaces"/>
   <tests change="fn-index-where"
           count="15"
           description="New function fn:items-where"/>
   <tests change="fn-intersperse"
           count="13"
           description="New function fn:intersperse"/>
   <tests change="fn-is-NaN" count="16" description="New function fn:is-NaN"/>
   <tests change="fn-items-after"
           count="9"
           description="New function fn:items-after"/>
   <tests change="fn-items-at"
           count="24"
           description="New function fn:items-at"/>
   <tests change="fn-items-before"
           count="9"
           description="New function fn:items-before"/>
   <tests change="fn-items-ending-where"
           count="17"
           description="New function fn:items-ending-where"/>
   <tests change="fn-items-starting-where"
           count="17"
           description="New function fn:items-starting-where"/>
   <tests change="fn-iterate-while"
           count="16"
           description="New function fn:iterate-while"/>
   <tests change="fn-json-doc"
           count="1"
           description="Extra options to fn:json-doc"/>
   <tests change="fn-lowest" count="32" description="New function fn:lowest"/>
   <tests change="fn-op" count="34" description="New function fn:op"/>
   <tests change="fn-parcel"
           count="6"
           description="New function fn:parcel (TODO: drop???)"/>
   <tests change="fn-parse-QName"
           count="19"
           description="New function fn:parse-QName"/>
   <tests change="fn-parse-html"
           count="1379"
           description="New function fn:parse-html"/>
   <tests change="fn-parse-integer"
           count="29"
           description="New function fn:parse-integer"/>
   <tests change="fn-parse-json"
           count="0"
           description="New options for function fn:parse-json"/>
   <tests change="fn-parse-uri"
           count="34"
           description="New function fn:parse-uri"/>
   <tests change="fn-parts"
           count="94"
           description="New function fn:parts (TODO: not currently in spec)"/>
   <tests change="fn-remove"
           count="0"
           description="Changes to fn:remove (remove multiple items)"/>
   <tests change="fn-replace"
           count="0"
           description="Changes to fn:replace (new substitute argument)"/>
   <tests change="fn-replicate"
           count="21"
           description="New function fn:replicate"/>
   <tests change="fn-slice"
           count="73"
           description="New function fn:slice (TODO: status ???)"/>
   <tests change="fn-some" count="18" description="New function fn:some"/>
   <tests change="fn-starts-with-sequence"
           count="31"
           description="New function fn:starts-with-sequence"/>
   <tests change="fn-transform"
           count="0"
           description="Changes to function fn:transform Changes to function fn:xml-to-json"/>
   <tests change="fn-trunk" count="8" description="New function fn:trunk"/>
   <tests change="fn-unparcel"
           count="11"
           description="New function fn:unparcel (TODO: drop???)"/>
   <tests change="hex-literals"
           count="23"
           description="Hex notation in numeric literals"/>
   <tests change="if-curlies"
           count="42"
           description="Curly braces in if expression"/>
   <tests change="keywords"
           count="8"
           description="Keywords in static function calls"/>
   <tests change="map-build" count="19" description="New function map:build"/>
   <tests change="map-entries"
           count="0"
           description="New function map:entries"/>
   <tests change="map-filter"
           count="14"
           description="Changes to function map:filter"/>
   <tests change="map-get" count="6" description="Extra argument to map:get"/>
   <tests change="map-group-by"
           count="0"
           description="New function map:group-by (TODO: status ???)"/>
   <tests change="map-values" count="0" description="New function map:values"/>
   <tests change="numeric-underscores"
           count="11"
           description="Underscores in numeric literals"/>
   <tests change="otherwise" count="7" description="Otherwise operator"/>
   <tests change="prod-ByExpr"
           count="150"
           description="&#34;by&#34; operator (TODO: not in spec)"/>
   <tests change="prod-EnumerationType" count="14" description="enum() types"/>
   <tests change="prod-ForClause.member"
           count="31"
           description="For-member in for expressions"/>
   <tests change="prod-InlineFunctionExpr.arrow"
           count="38"
           description="abbreviated inline functions - arrow notation"/>
   <tests change="prod-InlineFunctionExpr.focus"
           count="28"
           description="abbreviated inline functions - focus notation"/>
   <tests change="prod-StringTemplate"
           count="52"
           description="String templates"/>
   <tests change="prod-ThinArrow"
           count="52"
           description="Thin arrow expressions"/>
   <tests change="prod-UnionNodeTest"
           count="12"
           description="Union node test"/>
   <tests change="record-test" count="11" description="Record tests"/>

Received on Friday, 28 April 2023 20:54:28 UTC