>>> yaml-language-server: Building testing/yaml-language-server 1.21.0-r0 (using abuild 3.16.0-r0) started Sat, 28 Feb 2026 11:36:23 +0000 >>> yaml-language-server: Validating /home/buildozer/aports/testing/yaml-language-server/APKBUILD... >>> yaml-language-server: Analyzing dependencies... >>> yaml-language-server: Installing for build: build-base nodejs npm esbuild jq ( 1/13) Installing ca-certificates (20251003-r0) ( 2/13) Installing ada-libs (3.3.0-r0) ( 3/13) Installing icu-data-en (78.1-r0) Executing icu-data-en-78.1-r0.post-install * If you need ICU with non-English locales and legacy charset support, install * package icu-data-full. ( 4/13) Installing icu-libs (78.1-r0) ( 5/13) Installing simdjson (4.2.4-r0) ( 6/13) Installing simdutf (8.0.0-r0) ( 7/13) Installing sqlite-libs (3.51.2-r1) ( 8/13) Installing nodejs (24.13.0-r3) ( 9/13) Installing npm (11.9.0-r0) (10/13) Installing esbuild (0.27.1-r2) (11/13) Installing oniguruma (6.9.10-r0) (12/13) Installing jq (1.8.1-r0) (13/13) Installing .makedepends-yaml-language-server (20260228.113624) Executing busybox-1.37.0-r31.trigger Executing ca-certificates-20251003-r0.trigger OK: 359.8 MiB in 118 packages >>> yaml-language-server: Cleaning up srcdir >>> yaml-language-server: Cleaning up pkgdir >>> yaml-language-server: Cleaning up tmpdir >>> yaml-language-server: Fetching https://distfiles.alpinelinux.org/distfiles/edge/yaml-language-server-1.21.0.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> yaml-language-server: Fetching yaml-language-server-1.21.0.tar.gz::https://github.com/redhat-developer/yaml-language-server/archive/1.21.0.tar.gz /var/cache/distfiles/edge/yaml-language-server-1.21.0.tar.gz: OK /home/buildozer/aports/testing/yaml-language-server/yaml-language-server: OK /home/buildozer/aports/testing/yaml-language-server/increase-test-timeout.patch: OK >>> yaml-language-server: Fetching https://distfiles.alpinelinux.org/distfiles/edge/yaml-language-server-1.21.0.tar.gz /var/cache/distfiles/edge/yaml-language-server-1.21.0.tar.gz: OK /home/buildozer/aports/testing/yaml-language-server/yaml-language-server: OK /home/buildozer/aports/testing/yaml-language-server/increase-test-timeout.patch: OK >>> yaml-language-server: Unpacking /var/cache/distfiles/edge/yaml-language-server-1.21.0.tar.gz... >>> yaml-language-server: increase-test-timeout.patch patching file package.json npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm warn deprecated lodash.get@4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead. npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm warn deprecated sinon@9.2.4: 16.1.1 npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. added 509 packages, and audited 510 packages in 5s 152 packages are looking for funding run `npm fund` for details 5 vulnerabilities (1 low, 1 moderate, 3 high) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. > yaml-language-server@1.21.0 compile > tsc -p . dist/server.js 1.9mb ⚠️ ⚡ Done in 57ms > yaml-language-server@1.21.0 test > mocha --require ts-node/register --timeout 30000 --ui bdd ./test/*.test.ts Array Utils Tests Server - Array Utils getLineOffsets ✔ No offset ✔ One offset ✔ One offset with \r\n ✔ Multiple offsets removeDuplicatesObj ✔ Remove one duplicate with property ✔ Does not remove anything unneccessary AST Utils Tests Get Parent Node ✔ get key parent ✔ get value parent ✔ get root map parent ✔ get array parent ✔ get pair parent Is Offset in comment ✔ should detect that offset in comment ✔ should detect that comment inside object Auto Completion Tests YAML Completion Tests ✔ Object in array with 4 space indentation check JSON Schema Tests ✔ Autocomplete on root without word ✔ Autocomplete on root with partial word ✔ Autocomplete on default value (without :) ✔ Autocomplete on default value (without value content) ✔ Autocomplete on default value with \" ✔ Autocomplete name and value with \" ✔ Autocomplete on default value (with value content) ✔ Autocomplete on default value (with value content contains dash) ✔ Autocomplete on boolean value (without value content) ✔ Autocomplete on boolean value with key of `null` ✔ Autocomplete on boolean value (with value content) ✔ Autocomplete on number value (without value content) ✔ Autocomplete on number value (with value content) ✔ Autocomplete key in middle of file ✔ Autocomplete key with default value in middle of file ✔ Autocomplete without default value - not required ✔ Autocomplete without default value - required ✔ Autocomplete second key in middle of file ✔ Autocomplete does not happen right after key object ✔ Autocomplete does not happen right after : under an object ✔ Autocomplete with defaultSnippet markdown ✔ Autocomplete on multi yaml documents in a single file on root ✔ Autocomplete on multi yaml documents in a single file on scalar ✔ Autocompletion has no results on value when they are not available ✔ Test that properties that have multiple types get auto completed properly ✔ Test that properties that have multiple enums get auto completed properly ✔ Insert required attributes at correct level (node:27944) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. (Use `node --trace-deprecation ...` to show where the warning was created) ✔ Insert required attributes at correct level even on first element ✔ Provide the 3 types when none provided ✔ Provide the 2 types when one is provided ✔ Provide the 2 types when one is provided and the second is typed ✔ Provide no completion when maxProperties reached ✔ Autocompletion should escape @ ✔ Autocompletion should escape colon when indicating map ✔ Autocompletion should not escape colon when no white-space following ✔ Autocompletion should not escape colon when no key part present Conditional Schema ✔ should suggest "then" block if "if" match filePatternAssociation Array Specific Tests ✔ Should insert empty array item ✔ Array autocomplete without word and extra space ✔ Array autocomplete without word and autocompletion beside - ✔ Array autocomplete without word on space before array symbol ✔ Array autocomplete on empty node with array from schema ✔ Array autocomplete with letter ✔ Array autocomplete without word (second item) ✔ Array autocomplete with letter (second item) ✔ Autocompletion after array ✔ Autocompletion after array with depth - no indent ✔ Autocompletion after array with depth - indent ✔ Array of enum autocomplete without word on array symbol ✔ Array of enum autocomplete without word ✔ Array of enum autocomplete with letter ✔ Array of objects autocomplete with 4 space indentation check ✔ Array of const autocomplete ✔ Array of objects autocomplete with 2 space indentation check ✔ Array of objects autocomplete with 3 space indentation check Map const in the next line ✔ Next line const with : - Next line const no : ✔ Next line const with |- ✔ Next line const with : but array level completion ✔ Next line const with : & |- but array level completion JSON Schema 7 Specific Tests ✔ Autocomplete works with examples ✔ Autocomplete works with const ✔ Autocomplete should suggest prop with const value ✔ Should insert quotation value if there is special char Indentation Specific Tests ✔ Indent should be considered with position relative to slash ✔ Large indent should be considered with position relative to slash ✔ Tab indent should be considered with position relative to slash Yaml schema defined in file ✔ Provide completion from schema declared in file ✔ Provide completion from schema declared in file with several attributes ✔ Provide completion from schema declared in file with several documents ✔ should handle absolute path ✔ should handle relative path ✔ should provide modeline completion on first character with no schema associated and no modeline yet ✔ should not provide modeline completion on first character when schema is associated ✔ should not provide modeline completion on first character when modeline already present ✔ should provide schema id completion in modeline ✔ should provide schema id completion in modeline for any line Configuration based indentation ✔ 4 space indentation Bug fixes ✔ Object in array completion indetetion ✔ Object completion ✔ Complex default object completion ✔ should handle array schema without items ✔ auto completion based on the list indentation ✔ should complete string which contains number in default value ✔ should complete string which contains number in examples values ✔ should provide label as string for examples completion item ✔ should provide completion for flow map ✔ should provide completion for "null" enum value ✔ should provide completion for empty file ✔ should not provide additional ":" on existing property completion ✔ should not provide additional ":" on existing property completion when try to complete partial property ✔ should use markdownDescription for property completion ✔ should follow $ref in additionalItems ✔ should follow $ref in additionalItems: extra space after cursor ✔ should follow $ref in additionalItems for flow style array ✔ completion should handle bad schema (400ms) ✔ should convert to string non string completion label ✔ required enum property completes with default value ✔ enum completion should label the default value Array completion ✔ Simple array object completion with "-" without any item ✔ Simple array object completion without "-" after array item ✔ Simple array object completion with "-" after array item ✔ Array anyOf two objects completion with "- " without any item ✔ Array anyOf two objects completion with "-" without any item ✔ Simple array object completion without "-" befor array empty item ✔ Array anyOf two objects completion without "-" after array item ✔ Array nested anyOf without "-" should return all array items ✔ Array anyOf two objects completion with "-" after array item ✔ Array anyOf two objects completion indentation ✔ Autocomplete key in nested object while typing Parent Completion ✔ Should suggest all possible option in oneOf when content empty ✔ Should suggest complete object skeleton ✔ Should suggest complete object skeleton - array ✔ Should not agregate suggested text from different schemas ✔ Should suggest rest of the parent object ✔ Should reindex $x ✔ object completion with default boolean and default integer ✔ Should function when settings are undefined Select parent skeleton first ✔ Should suggest complete object skeleton ✔ Should suggest complete object skeleton - nested ✔ Should suggest complete object skeleton - array ✔ Should suggest rest of the parent object ✔ Should suggest all feature when user is typing ✔ Should suggest all properties in empty yaml with now required props Auto Completion Fix Tests ✔ should show completion on map under array ✔ completion with array objects ✔ should show completion on array empty array item ✔ should show completion items in the middle of map in array (3209ms) ✔ should show completion on array item on first line (3113ms) ✔ should complete without error on map inside array (3259ms) ✔ should complete array ✔ should complete array item for "oneOf" schema ✔ Autocomplete with short nextLine - nested object ✔ Should suggest valid matches from oneOf ✔ Should suggest all the matches from allOf ✔ Autocomplete with a new line inside the object ✔ Autocomplete on the first array item ✔ Array of enum autocomplete of irregular order ✔ Test that properties have enum of string type with number ✔ Autocomplete indent on array when parent is array ✔ Autocomplete indent on array object when parent is array ✔ Autocomplete indent on array object when parent is array of an array ✔ should suggest from additionalProperties ✔ should suggest defaultSnippets from additionalProperties ✔ should suggest property of unknown object ✔ should not suggest propertyNames with doNotSuggest ✔ should suggest enum based on type ✔ should suggest propertyNames keys from definitions $ref ✔ should suggest propertyNames candidates from const ✔ should suggest propertyNames candidates from enum ✔ should suggest propertyNames candidates from oneOf ✔ should suggest propertyNames candidates from anyOf ✔ should suggest only the intersected propertyNames candidate from allOf (const + enum) ✔ should not suggest any propertyNames when allOf makes keys impossible (const + const) array indent on different index position ✔ array indent on the first item ✔ array indent on the second item merge properties from anyOf objects ✔ should merge different simple values ✔ should autocomplete as single item with same value ✔ should not merge objects ✔ Autocomplete should not suggest items for parent object ✔ autoCompletion when value is null inside anyOf object ✔ should take all sub-schemas when value has not been set (cursor in the middle of the empty space) ✔ should take only null sub-schema when value is "null" ✔ should take only one sub-schema because first sub-schema does not match ✔ should match only second sub-schema because the first one does not match ✔ should suggest from all sub-schemas even if nodes properties match better other schema ✔ should suggest both sub-schemas for anyof array extra space after cursor ✔ simple const ✔ partial key with trailing spaces ✔ partial key with trailing spaces with new line ✔ partial key with leading and trailing spaces ✔ partial key with trailing spaces with special chars inside the array ✔ object - 2nd nested property ✔ array - 2nd nested property ✔ array completion - should suggest correct indent when extra spaces after cursor ✔ array of arrays completion - should suggest correct indent when extra spaces after cursor ✔ object of array of arrays completion - should suggest correct indent when extra spaces after cursor partial value with trailing spaces ✔ partial value with trailing spaces ✔ partial value with trailing spaces with new line ✔ partial value with leading and trailing spaces ✔ partial value with trailing spaces with special chars inside the array array object item ✔ 1st item ✔ next item should suggest prop of the object (based on not completed prop name) ✔ nested object ✔ root object should suggest property before indented comment ✔ completion should handle indented comment on new line ✔ completion should handle comment at same indent level on new line ✔ completion should handle suggestion without comment on next line String scalar completion comprehensive tests Enum empty string ✔ should handle enum key value ✔ should handle enum value after property name literal double quotes ✔ should handle enum key value ✔ should handle enum value after property name literal single quotes ✔ should handle enum key value ✔ should handle enum value after property name single quote character ✔ should handle enum key value ✔ should handle enum value after property name single apostrophe ✔ should handle enum key value ✔ should handle enum value after property name string with colon and space ✔ should handle enum key value ✔ should handle enum value after property name string starting with hash ✔ should handle enum key value ✔ should handle enum value after property name string starting with dash ✔ should handle enum key value ✔ should handle enum value after property name string starting with question mark ✔ should handle enum key value ✔ should handle enum value after property name string "null" ✔ should handle enum key value ✔ should handle enum value after property name numeric string ✔ should handle enum key value ✔ should handle enum value after property name string with leading spaces ✔ should handle enum key value ✔ should handle enum value after property name string with trailing space ✔ should handle enum key value ✔ should handle enum value after property name string with newline and tab ✔ should handle enum key value ✔ should handle enum value after property name string ending with colon ✔ should handle enum key value ✔ should handle enum value after property name hex-like string ✔ should handle enum key value ✔ should handle enum value after property name octal-like string ✔ should handle enum key value ✔ should handle enum value after property name octal-like string with prefix ✔ should handle enum key value ✔ should handle enum value after property name backslash-quote ✔ should handle enum key value ✔ should handle enum value after property name Const empty string ✔ should handle const key value ✔ should handle const value after property name literal double quotes ✔ should handle const key value ✔ should handle const value after property name literal single quotes ✔ should handle const key value ✔ should handle const value after property name single quote character ✔ should handle const key value ✔ should handle const value after property name single apostrophe ✔ should handle const key value ✔ should handle const value after property name string with colon and space ✔ should handle const key value ✔ should handle const value after property name string starting with hash ✔ should handle const key value ✔ should handle const value after property name string starting with dash ✔ should handle const key value ✔ should handle const value after property name string starting with question mark ✔ should handle const key value ✔ should handle const value after property name string "null" ✔ should handle const key value ✔ should handle const value after property name numeric string ✔ should handle const key value ✔ should handle const value after property name string with leading spaces ✔ should handle const key value ✔ should handle const value after property name string with trailing space ✔ should handle const key value ✔ should handle const value after property name string with newline and tab ✔ should handle const key value ✔ should handle const value after property name string ending with colon ✔ should handle const key value ✔ should handle const value after property name hex-like string ✔ should handle const key value ✔ should handle const value after property name octal-like string ✔ should handle const key value ✔ should handle const value after property name octal-like string with prefix ✔ should handle const key value ✔ should handle const value after property name backslash-quote ✔ should handle const key value ✔ should handle const value after property name Property name (key) literal double quotes ✔ should handle property name completion literal single quotes ✔ should handle property name completion single quote character ✔ should handle property name completion single apostrophe ✔ should handle property name completion string with colon and space ✔ should handle property name completion string starting with hash ✔ should handle property name completion string starting with dash ✔ should handle property name completion string starting with question mark ✔ should handle property name completion string "null" ✔ should handle property name completion numeric string ✔ should handle property name completion string with leading spaces ✔ should handle property name completion string with trailing space ✔ should handle property name completion string with newline and tab ✔ should handle property name completion string ending with colon ✔ should handle property name completion hex-like string ✔ should handle property name completion octal-like string ✔ should handle property name completion octal-like string with prefix ✔ should handle property name completion backslash-quote ✔ should handle property name completion Bundle l10n Test l10n bundle test ✔ check french locale ✔ un configured locale should return in english Schema Errors Code Action Tests Convert value code action tests ✔ Should provide convert to boolean action for false ✔ Should provide convert to boolean action for true Custom Tag tests Tests Test that validation does not throw errors ✔ Custom Tags without type not specified ✔ Custom Tags with one type ✔ Custom Tags with multiple types ✔ Allow multiple different custom tag types with different use ✔ Allow multiple different custom tag types with multiple different uses Test that validation does throw errors ✔ Error when custom tag is not available Default Snippet Tests Snippet Tests (node:27944) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:27944) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit ✔ Snippet in array schema should autocomplete with - ✔ Snippet in array schema should autocomplete with - if none is present ✔ Snippet in array schema should autocomplete on same line as array ✔ Snippet in array schema should autocomplete correctly on array level ✔ Snippet in array schema should suggest nothing inside array item if YAML already contains all props ✔ Snippet in array schema should suggest only some of the props inside an array item if YAML already contains some of the props ✔ Snippet in anyOf array schema should autocomplete correctly with "-" symbol ✔ Snippet custom suggestionKind ✔ Snippet custom sort ✔ Snippet in object schema should autocomplete on next line ✔ Snippet in object schema should autocomplete on next line with depth ✔ Snippet in object schema should suggest some of the snippet props because some of them are already in the YAML ✔ Snippet in object schema should not suggest snippet props because all of them are already in the YAML ✔ Snippet in object schema should autocomplete on same line ✔ Snippet in object schema should not autocomplete on children ✔ Snippet in string schema should autocomplete on same line ✔ Snippet in boolean schema should autocomplete on same line ✔ Snippet in longSnipet schema should autocomplete on same line ✔ Snippet in short snippet schema should autocomplete on same line ✔ Test array of arrays on properties completion ✔ Test array of arrays on value completion ✔ Test array of arrays on indented completion ✔ Test array of strings ✔ Test array nested object indented completion ✔ Test snippet in array indented completion ✔ Test array of objects extra new line ✔ Test string with boolean in string should insert string ✔ Test string with boolean NOT in string should insert boolean ✔ should preserve space after ":" with prefix ✔ should preserve space after ":" ✔ should add space before value on root node YAML_DISABLE_PATTERN ✔ should capture specifiers in group 1 ✔ should capture empty group 1 when no specifiers given parseDisableSpecifiers ✔ should return empty array for empty string ✔ should return empty array for whitespace-only string ✔ should parse a single specifier ✔ should parse comma-separated specifiers ✔ should trim whitespace around specifiers ✔ should ignore empty entries from trailing commas ✔ should lower-case all specifiers shouldSuppressDiagnostic ✔ should suppress when specifiers is empty (suppress all) ✔ should suppress when message contains the specifier (case-insensitive) ✔ should not suppress when message does not contain the specifier ✔ should suppress when any of multiple specifiers matches ✔ should not suppress when none of multiple specifiers match filterSuppressedDiagnostics ✔ should return all diagnostics when there are no suppression comments ✔ should suppress all diagnostics when no specifiers are given ✔ should suppress only matching diagnostics when specifiers are given ✔ should suppress diagnostics matching any of multiple comma-separated specifiers ✔ should match specifiers case-insensitively ✔ should keep diagnostics on lines NOT preceded by a disable comment ✔ should not filter a diagnostic on line 0 (no preceding line) ✔ should handle indented disable comments ✔ should not suppress when the disable comment is two lines above ✔ should handle multiple disable comments for different lines ✔ should return all diagnostics when the document cannot be read ✔ should return an empty array when given no diagnostics ✔ should not treat a non-comment line containing the keyword as suppression DocumentPositionCalculator Tests binarySearch ✔ Binary Search where we are looking for element to the left of center ✔ Binary Search where we are looking for element to the right of center ✔ Binary Search found at first check ✔ Binary Search item not found getLineStartPositions ✔ getLineStartPositions with windows newline ✔ getLineStartPositions with normal newline getPosition ✔ getPosition ✔ getPosition when not found Document Symbols Tests Document Symbols Tests (Non Hierarchical) ✔ Document is empty ✔ Simple document symbols ✔ Document Symbols with number ✔ Document Symbols with boolean ✔ Document Symbols with object ✔ Document Symbols with null ✔ Document Symbols with array of strings ✔ Document Symbols with array ✔ Document Symbols with object and array ✔ Document Symbols with multi documents ✔ Document symbols with a limit Document Symbols Tests (Hierarchical) ✔ Document is empty ✔ Simple document symbols ✔ Document Symbols with number ✔ Document Symbols with boolean ✔ Document Symbols with object ✔ Document Symbols with null ✔ Document Symbols with array of strings ✔ Document Symbols with array ✔ Document Symbols with object and array ✔ Document Symbols with multi documents ✔ Document Symbols with complex mapping and aliases ✔ Document symbols with a limit ✔ Document Symbols with numbers as keys ✔ Document Symbols with mapping as keys Find Links Tests Jump to definition ✔ Find source definition Bug fixes ✔ should work with flow map Flow style rewriter ✔ should return null if node is not flow style ✔ should rewrite flow style map to block ✔ should rewrite flow style map and preserve space ✔ should rewrite flow style map with null ✔ should rewrite flow style map with explicit entry ✔ should rewrite flow style sequence ✔ should rewrite flow style for mixed sequence and map ✔ should rewrite flow style when parent is sequence Formatter Tests Formatter Test that formatter works with custom tags { edits: [ { range: [Object], newText: 'cwd: test\n' } ] } ✔ Formatting works without custom tags ✔ Formatting can be disabled via language-overridable yaml.format.enable setting ✔ Formatting works with custom tags ✔ Formatting wraps text ✔ Formatting handles trailing commas (enabled) ✔ Formatting handles trailing commas (disabled) ✔ Formatting uses tabSize ✔ Formatting uses tabWidth ✔ Formatting uses tabWidth over tabSize Hover Tests Hover ✔ Hover on key on root ✔ Hover on value on root ✔ Hover on key with depth ✔ Hover on value with depth ✔ Hover works on both root node and child nodes works ✔ Hover does not show results when there isnt description field ✔ Hover on first document in multi document ✔ Hover on second document in multi document ✔ Hover should not return anything on key ✔ Hover should not return anything on value ✔ Hover works on array nodes ✔ Hover works on additional array nodes ✔ Hover works on oneOf reference array nodes ✔ Hover on refs node ✔ Hover on null property ✔ hover on value and its description has multiline, indentation and special string ✔ Hover displays enum descriptions if present ✔ Hover displays unique enum values ✔ Hover displays unique enum values with prroper description (1st case) ✔ Hover displays unique enum values with prroper description (2nd case) ✔ Hover displays unique enum values with prroper description (3rd case) ✔ Hover displays escaped quote strings correctly in enum ✔ Hover works on examples ✔ Hover on property next value on null ✔ should work with bad schema (367ms) ✔ Hover preserves literal parentheses ✔ Hover preserves literal dots ✔ Hover preserves bare URL in description (no escaping) ✔ Hover preserves URL wrapped in parentheses in description (no escaping) Hover on anyOf ✔ should show all matched schemas in anyOf ✔ should show the parent description in anyOf (no child descriptions) ✔ should concat parent and child descriptions in anyOf Bug fixes ✔ should convert binary data correctly YAML 1.1 boolean hover ✔ Hover on YAML 1.1 boolean value "True" with enum schema ✔ Hover on YAML 1.1 boolean value "False" with enum schema ✔ Hover on YAML 1.1 boolean value "yes" with const schema ✔ Hover on YAML 1.1 boolean value "no" with const schema Kubernetes Integration Tests Yaml Validation with kubernetes Test that validation does not throw errors ✔ Basic test (3232ms) ✔ Basic test on nodes with children ✔ Advanced test on nodes with children ✔ Type string validates under children Type tests ✔ Type String does not error on valid node ✔ Type Boolean does not error on valid node ✔ Type Number does not error on valid node ✔ Type Object does not error on valid node ✔ Type Array does not error on valid node yamlCompletion with kubernetes doComplete ✔ Autocomplete on default value (with value content) ✔ Autocomplete on boolean value (without value content) ✔ Autocomplete on boolean value (with value content) ✔ Autocomplete key in middle of file ✔ Autocomplete key in middle of file 2 yamlHover with kubernetes ✔ Hover on incomplete kubernetes document unexpected meta schema ✔ should not throw when a non-standard meta schema is used JSON Parser ✔ Invalid body ✔ Trailing Whitespace ✔ No content ✔ Objects ✔ Arrays ✔ Strings ✔ Numbers ✔ Comments ✔ Simple AST ✔ Nested AST ✔ Nested AST in Array ✔ Multiline ✔ Expand errors to entire tokens ✔ Errors at the end of the file ✔ Getting keys out of an object ✔ Missing colon ✔ Missing comma ✔ Validate types ✔ Required properties ✔ Arrays ✔ Strings ✔ Numbers ✔ getNodeFromOffset ✔ Duplicate keys ✔ allOf ✔ anyOf ✔ oneOf ✔ not ✔ if/then/else ✔ nested if/then/else ✔ minProperties ✔ maxProperties ✔ patternProperties ✔ additionalProperties ✔ enum ✔ const ✔ oneOf const ✔ propertyNames ✔ uniqueItems ✔ containsItem ✔ items as array ✔ additionalItems ✔ multipleOf ✔ multipleOfFloat ✔ dependencies with array ✔ dependencies with schema ✔ type as array ✔ deprecated ✔ Strings with spaces ✔ Schema information on node ✔ parse with comments ✔ parse with comments collected ✔ validate alternatives ✔ validate alternatives 2 ✔ enum value merge ✔ value matches more than one schema in oneOf ✔ validate API Multiple Documents Validation Tests Multiple Documents Validation ✔ Should validate multiple documents (1502ms) ✔ Should find errors in both documents (1381ms) ✔ Should find errors in first document (1410ms) ✔ Should find errors in second document (1420ms) ✔ Should hover in first document (1373ms) Object Equals Tests Equals ✔ Both are null ✔ One is null the other is true ✔ One is string the other is boolean ✔ One is not object ✔ One is array the other is not ✔ Both are arrays of different length ✔ Both are arrays of same elements but in different order ✔ Arrays that are equal ✔ Objects that are equal ✔ Objects that have same keys but different values ✔ Objects that have different keys Telemetry message conversion test ✔ null values should not cause problems ✔ should convert errors with stack correctly ✔ should convert errors with no stack correctly File path tests Recognises not relative paths ✔ Rejects "/file.json" ✔ Rejects "/absolutepath/file.json." ✔ Rejects "/notrelativepath/file.json" ✔ Rejects "C:/notrelativepath/file.json" ✔ Rejects "directory.json/" ✔ Rejects "dir/subdir/" Recognises and correctly resolves relative paths Relative path = "file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "file.long.extension.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "folder/file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "long/path/to/file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "../file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "../../relative/path/file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = "../../relative/@path/file.json" ✔ Recognises relative path ✔ Resolves relative path in single-root workspace ✔ Resolves relative path in multi-root workspace ✔ Resolves relative path in multi-root nested workspace Relative path = a workspace folder ✔ Recognises relative path "aFolder/file.json" ✔ Resolves "aFolder/file.json" in single-root workspace ✔ Resolves "folder-2/file.json" in multi-root workspace ✔ Resolves "carrots/file.json" in multi-root nested workspace ✔ Resolves "test/test.json" in multi-root nested workspace Path with mixed delimiters (Windows only) - Recognises relative path "some/strange\but/functional\path\file.json" - Resolves "some/strange\but/functional\path\file.json" in single-root workspace - Resolves "some/strange\but/functional\path\file.json" in multi-root workspace - Resolves "some/strange\but/functional\path\file.json" in multi-root nested workspace Tests for workspaceFoldersChanged ✔ workspaceFolders are added correctly ✔ workspaceFolders are not added if duplicate uri ✔ workspaceFolders are removed correctly ✔ workspaceFolders empty event does nothing JSON Schema ✔ Resolving $refs ✔ Resolving $refs 2 ✔ Resolving $refs 3 ✔ FileSchema ✔ Array FileSchema ✔ Missing subschema ✔ Preloaded Schema ✔ Schema has url ✔ Null Schema ✔ Schema not found ✔ Schema with non uri registers correctly ✔ Modifying schema ✔ Deleting schema ✔ Deleting schemas ✔ Modifying schema works with kubernetes resolution (3231ms) ✔ Deleting schema works with Kubernetes resolution (3097ms) ✔ Adding a brand new schema ✔ Deleting an existing schema Compound Schema Documents embedded resources ✔ accepts valid instances that reference embedded resources ✔ reports validation errors across embedded resources cross-dialect behavior ref sibling semantics across dialects draft-07 root with draft-2019-09 embedded resource ✔ applies $ref sibling constraints inside embedded 2019-09 resource ✔ accepts value that satisfies embedded 2019-09 constraints draft-2019-09 root with draft-07 embedded resource ✔ ignores $ref sibling constraints inside embedded draft-07 resource ✔ still enforces the referenced target schema (type string) meta validation for mixed-dialect subschemas ✔ draft-2020 root with draft-04 subschema ✔ draft-2020 root with draft-07 subschema Test schema priority ✔ Modeline Schema takes precendence over all other schema APIs ✔ Manually setting schema takes precendence over all other lower priority schemas ✔ SchemaAssociation takes precendence over SchemaStore ✔ SchemaStore is highest priority if nothing else is available ✔ Default snippet with description Test getGroupVersionKindFromDocument ✔ builtin kubernetes resource group should not get resolved ✔ builtin kubernetes resource with complex apiVersion should get resolved ✔ custom argo application CRD should get resolved ✔ custom argo application CRD with whitespace should get resolved ✔ custom argo application CRD with other fields should get resolved Test getSchemaFromModeline ✔ simple case ✔ with several spaces between # and yaml-language-server ✔ with several spaces between yaml-language-server and : ✔ with several spaces between : and $schema ✔ with several spaces at the end ✔ with several spaces at several places ✔ with several attributes ✔ with tabs Several $schema attributes have been found on the yaml-language-server modeline. The first one will be picked. ✔ with several $schema - pick the first ✔ no schema returned if not yaml-language-server ✔ no schema returned if not $schema Validation Tests $ref resolution ✔ root pointer ref ✔ relative pointer ref to object ✔ relative pointer ref to array ✔ escaped pointer ref ✔ nested refs ✔ ref applies alongside sibling keywords ✔ property named $ref that is not a reference ✔ property named $ref, containing an actual $ref ✔ $ref to boolean schema true ✔ $ref to boolean schema false $anchor resolution ✔ Location-independent identifier ✔ Location-independent identifier with absolute URI ✔ Location-independent identifier with base URI change in subschema ✔ same $anchor with different base uri ✔ resolves $ref "#name" via $anchor in same document ✔ resolves external $ref to a root $anchor ✔ resolves external $ref to $anchor in another schema keyword: unevaluatedProperties ✔ unevaluatedProperties as schema validates remaining property values ✔ unevaluatedProperties=false sees evaluated props across allOf ✔ unevaluatedProperties sees properties defined across $ref ✔ unevaluatedProperties true ✔ unevaluatedProperties schema ✔ unevaluatedProperties false ✔ unevaluatedProperties with adjacent properties ✔ unevaluatedProperties with adjacent patternProperties ✔ unevaluatedProperties with adjacent additionalProperties ✔ unevaluatedProperties with nested properties ✔ unevaluatedProperties with nested patternProperties ✔ unevaluatedProperties with nested additionalProperties ✔ unevaluatedProperties with nested unevaluatedProperties ✔ unevaluatedProperties with anyOf ✔ unevaluatedProperties with oneOf ✔ unevaluatedProperties with not ✔ unevaluatedProperties with if/then/else ✔ unevaluatedProperties with if/then/else, then not defined ✔ unevaluatedProperties with if/then/else, else not defined ✔ unevaluatedProperties with dependentSchemas ✔ unevaluatedProperties with boolean schemas ✔ unevaluatedProperties with $ref ✔ unevaluatedProperties before $ref ✔ unevaluatedProperties with $recursiveRef ✔ unevaluatedProperties can't see inside cousins ✔ unevaluatedProperties can't see inside cousins (reverse order) ✔ nested unevaluatedProperties, outer false, inner true, properties outside ✔ nested unevaluatedProperties, outer false, inner true, properties inside ✔ nested unevaluatedProperties, outer true, inner false, properties outside ✔ nested unevaluatedProperties, outer true, inner false, properties inside ✔ cousin unevaluatedProperties, true and false, true with properties ✔ cousin unevaluatedProperties, true and false, false with properties ✔ property is evaluated in an uncle schema to unevaluatedProperties ✔ non-object instances are valid ✔ unevaluatedProperties with null valued instance properties ✔ unevaluatedProperties not affected by propertyNames ✔ unevaluatedProperties can see annotations from if without then and else ✔ dependentSchemas with unevaluatedProperties ✔ Evaluated properties collection needs to consider instance location in-place applicator siblings, allOf has unevaluated ✔ base case: both properties present ✔ in place applicator siblings, bar is missing ✔ in place applicator siblings, foo is missing in-place applicator siblings, anyOf has unevaluated ✔ base case: both properties present ✔ in place applicator siblings, bar is missing ✔ in place applicator siblings, foo is missing unevaluatedProperties + single cyclic ref ✔ Empty is valid ✔ Single is valid ✔ Unevaluated on 1st level is invalid ✔ Nested is valid ✔ Unevaluated on 2nd level is invalid ✔ Deep nested is valid ✔ Unevaluated on 3rd level is invalid unevaluatedProperties + ref inside allOf / oneOf ✔ Empty is invalid (no x or y) ✔ a and b are invalid (no x or y) ✔ x and y are invalid ✔ a and x are valid ✔ a and y are valid ✔ a and b and x are valid ✔ a and b and y are valid ✔ a and b and x and y are invalid dynamic evalation inside nested refs ✔ Empty is invalid ✔ a is valid ✔ b is valid ✔ c is valid ✔ d is valid ✔ a + b is invalid ✔ a + c is invalid ✔ a + d is invalid ✔ b + c is invalid ✔ b + d is invalid ✔ c + d is invalid ✔ xx is valid ✔ xx + foox is valid ✔ xx + foo is invalid ✔ xx + a is invalid ✔ xx + b is invalid ✔ xx + c is invalid ✔ xx + d is invalid ✔ all is valid ✔ all + foo is valid ✔ all + a is invalid keyword: unevaluatedItems ✔ unevaluatedItems true ✔ unevaluatedItems false ✔ unevaluatedItems as schema ✔ unevaluatedItems with uniform items ✔ unevaluatedItems with tuple ✔ unevaluatedItems with items and additionalItems ✔ unevaluatedItems with ignored additionalItems ✔ unevaluatedItems with ignored applicator additionalItems ✔ unevaluatedItems with nested tuple ✔ unevaluatedItems with nested items ✔ unevaluatedItems with nested items and additionalItems ✔ unevaluatedItems with nested unevaluatedItems ✔ unevaluatedItems with anyOf ✔ unevaluatedItems with oneOf ✔ unevaluatedItems with not ✔ unevaluatedItems with if/then/else ✔ unevaluatedItems with boolean schemas ✔ unevaluatedItems with $ref ✔ unevaluatedItems before $ref ✔ unevaluatedItems with $recursiveRef ✔ unevaluatedItems can't see inside cousins ✔ item is evaluated in an uncle schema to unevaluatedItems ✔ unevaluatedItems with null instance elements ✔ unevaluatedItems can see annotations from if without then and else ✔ Evaluated items collection needs to consider instance location non-array instances are valid ✔ ✔ ignores integers ✔ ignores floats ✔ ignores objects ✔ ignores strings ✔ ignores null keyword: contains + minContains/maxContains ✔ minContains fails when too few items match contains subschema ✔ maxContains fails when too many items match contains subschema ✔ minContains/maxContains passes when match count is within bounds ✔ contains matching is based on subschema, not just item type keyword: dependentRequired ✔ requires dependent properties when the trigger property is present ✔ passes when required dependent properties are present keyword: dependentSchemas ✔ does not apply when the trigger property is absent ✔ applies dependent schema when the trigger property is present ✔ can enforce additional constraints from the dependent schema ✔ applies multiple dependentSchemas when multiple triggers are present keyword: dependencies (backward compatibility) property dependencies tests ✔ requires dependent properties when the trigger property is present ✔ does not apply when the trigger property is absent schema dependencies tests ✔ enforces dependent schema constraints when trigger property is present ✔ enforces dependent schema required properties when trigger property is present ✔ does not apply the dependent schema when trigger property is absent $ref resolution should support sibling keywords ✔ should apply sibling keywords next to $ref ✔ should apply sibling keywords next to $ref (top level) $id resolution ✔ $id inside an enum is not a real identifier (the implementation must not be confused by an $id buried in the enum) ✔ should resolve embedded resource $id for relative $ref without external load ✔ should handle $id changing base URI for nested $anchor resolution $recursiveAnchor and $recursiveRef resolution ✔ does not infinite loop on self-recursive $recursiveRef $recursiveRef without $recursiveAnchor works like $ref ✔ match ✔ recursive match ✔ mismatch ✔ recursive mismatch $recursiveRef without using nesting ✔ integer matches at the outer level ✔ single level match ✔ integer does not match as a property value ✔ two levels, properties match with inner definition ✔ two levels, no match $recursiveRef with nesting ✔ integer matches at the outer level ✔ single level match ✔ integer now matches as a property value ✔ two levels, properties match with inner definition ✔ two levels, properties match with $recursiveRef $recursiveRef with $recursiveAnchor: false works like $ref ✔ integer matches at the outer level ✔ single level match ✔ integer does not match as a property value ✔ two levels, properties match with inner definition ✔ two levels, integer does not match as a property value $recursiveRef with no $recursiveAnchor works like $ref ✔ integer matches at the outer level ✔ single level match ✔ integer does not match as a property value ✔ two levels, properties match with inner definition ✔ two levels, integer does not match as a property value $recursiveRef with no $recursiveAnchor in the initial target schema resource ✔ leaf node does not match; no recursion ✔ leaf node matches: recursion uses the inner schema ✔ leaf node does not match: recursion uses the inner schema $recursiveRef with no $recursiveAnchor in the outer schema resource ✔ leaf node does not match; no recursion ✔ leaf node matches: recursion only uses inner schema ✔ leaf node does not match: recursion only uses inner schema multiple dynamic paths to the $recursiveRef keyword ✔ recurse to anyLeafNode - floats are allowed (38ms) ✔ recurse to integerNode - floats are not allowed dynamic $recursiveRef destination (not predictable at schema compile time) ✔ numeric node ✔ integer node (41ms) tree schema with unevaluatedProperties ✔ $recursiveRef resolves to outermost schema with $recursiveAnchor in dynamic scope ✔ $recursiveRef with all required properties should pass keyword: contains ✔ contains keyword validation ✔ contains keyword with const keyword ✔ contains keyword with boolean schema true ✔ contains keyword with boolean schema false ✔ items + contains ✔ contains with false if subschema ✔ contains with null instance elements keyword: maxContains ✔ maxContains without contains is ignored ✔ maxContains with contains ✔ maxContains with contains, value with a decimal ✔ minContains < maxContains keyword: minContains ✔ minContains without contains is ignored ✔ minContains=1 with contains ✔ minContains=2 with contains ✔ minContains=2 with contains with a decimal value ✔ maxContains = minContains ✔ maxContains < minContains ✔ minContains = 0 with no maxContains ✔ minContains = 0 with maxContains keyword: dependentSchemas ✔ single dependency ✔ boolean subschemas ✔ dependencies with escaped characters ✔ dependent subschema incompatible with root keyword: dependentRequired ✔ single dependency ✔ empty dependents ✔ multiple dependents required ✔ dependencies with escaped characters Validation Tests ✔ passes ["a","b","ccc"] because "ccc" is evaluated by contains ✔ fails ["a","b","ccc"] using boolean-algebra workaround keyword: prefixItems + items Open tuple ✔ allows extra items by default (items is unconstrained) ✔ fails when a prefixItems position has the wrong type Closed tuple ✔ forbids extra items after prefixItems ✔ passes when length is within prefixItems Tuple with constrained extra items ✔ fails when an extra item does not match items schema ✔ passes when extra items match items schema keyword: prefixItems ✔ a schema given for prefixItems ✔ prefixItems with boolean schemas ✔ additional items are allowed by default ✔ prefixItems with null instance elements keyword: items ✔ a schema given for items ✔ items with boolean schema (true) ✔ items with boolean schema (false) ✔ items and subitems ✔ nested items ✔ prefixItems with no additional items allowed ✔ items does not look in applicators, valid case ✔ prefixItems validation adjusts the starting index for items ✔ items with heterogeneous array ✔ items with null instance elements keyword: unevaluatedItems ✔ unevaluatedItems true ✔ unevaluatedItems false ✔ unevaluatedItems as schema ✔ unevaluatedItems with uniform items ✔ unevaluatedItems with tuple ✔ unevaluatedItems with items and prefixItems ✔ unevaluatedItems with items ✔ unevaluatedItems with nested tuple ✔ unevaluatedItems with nested items ✔ unevaluatedItems with nested prefixItems and items ✔ unevaluatedItems with nested unevaluatedItems ✔ unevaluatedItems with anyOf ✔ unevaluatedItems with oneOf ✔ unevaluatedItems with not ✔ unevaluatedItems with if/then/else ✔ unevaluatedItems with boolean schemas ✔ unevaluatedItems with $ref ✔ unevaluatedItems before $ref ✔ unevaluatedItems with $dynamicRef ✔ unevaluatedItems can't see inside cousins ✔ item is evaluated in an uncle schema to unevaluatedItems ✔ unevaluatedItems depends on adjacent contains ✔ unevaluatedItems depends on multiple nested contains ✔ unevaluatedItems and contains interact to control item dependency relationship ✔ unevaluatedItems with minContains = 0 ✔ non-array instances are valid ✔ unevaluatedItems with null instance elements ✔ unevaluatedItems can see annotations from if without then and else ✔ Evaluated items collection needs to consider instance location keyword: contains ✔ contains keyword validation ✔ contains keyword with const keyword ✔ contains keyword with boolean schema true ✔ contains keyword with boolean schema false ✔ items + contains ✔ contains with false if subschema ✔ contains with null instance elements contains and unevaluatedItems tests ✔ passes when there is at least one string and all non-matching items are numbers ✔ passes even if multiple items are strings (strings match contains => evaluated) ✔ fails if a non-matching item is not a number ✔ fails if no item matches contains (minContains defaults to 1) Mixed dialect subschema instance validation in Compound Schema Document ✔ draft-2020 root with draft-04 subschema ✔ draft-2020 root with draft-07 subschema ✔ draft-07 root with draft-2019 subschema $dynamicAnchor and $dynamicRef resolution ✔ multiple dynamic paths to the $dynamicRef keyword ✔ after leaving a dynamic scope, it is not used by a $dynamicRef ✔ $ref to $dynamicRef finds detached $dynamicAnchor ✔ $dynamicRef points to a boolean schema ✔ $dynamicRef skips over intermediate resources - direct reference ✔ $dynamicRef avoids the root of each schema, but scopes are still registered ✔ does not infinite loop on cyclic $ref with siblings basic $dynamicRef behavior ✔ A $dynamicRef to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor ✔ A $dynamicRef to an $anchor in the same schema resource behaves like a normal $ref to an $anchor ✔ A $ref to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor ✔ A $dynamicRef resolves to the first $dynamicAnchor still in scope that is encountered when the schema is evaluated ✔ A $dynamicRef without anchor in fragment behaves identical to $ref ✔ A $dynamicRef with intermediate scopes that don't include a matching $dynamicAnchor does not affect dynamic scope resolution ✔ An $anchor with the same name as a $dynamicAnchor is not used for dynamic scope resolution ✔ A $dynamicRef without a matching $dynamicAnchor in the same schema resource behaves like a normal $ref to $anchor ✔ A $dynamicRef with a non-matching $dynamicAnchor in the same schema resource behaves like a normal $ref to $anchor relative dynamic references ✔ A $dynamicRef that initially resolves to a schema with a matching $dynamicAnchor resolves to the first $dynamicAnchor in the dynamic scope ✔ A $dynamicRef that initially resolves to a schema without a matching $dynamicAnchor behaves like a normal $ref to $anchor strict-tree schema, guards against misspelled properties ✔ instance with misspelled field ✔ instance with correct field tests for implementation dynamic anchor and reference link ✔ incorrect parent schema ✔ incorrect extended schema ✔ correct extended schema $ref and $dynamicAnchor are independent of order - $defs first ✔ incorrect parent schema ✔ incorrect extended schema ✔ correct extended schema $ref and $dynamicAnchor are independent of order - $ref first ✔ incorrect parent schema ✔ incorrect extended schema ✔ correct extended schema Schema Request Handler Tests schemaRequestHandler ✔ Should care Win URI ✔ UNIX URI should works ✔ should handle not valid Windows path Schema Selection Handlers ✔ add handler for "getSchema" and "getAllSchemas" requests ✔ getAllSchemas should return all schemas ✔ getAllSchemas should return all schemas and mark used for current file ✔ getSchemas should return all schemas ✔ getSchemas should handle empty schemas Validation Tests ✔ Nested AnyOf const should correctly evaluate and merge problems ✔ URL-encoded characters in $ref ✔ value should match as per schema const on boolean ✔ draft-04 schema ✔ draft-04 schema with https in metaschema URI ✔ resolves relative $ref using local sibling schema path before remote $id ref Boolean tests ✔ Boolean true test ✔ Basic false test ✔ Test that boolean value without quotations is valid ✔ Test that boolean value in quotations is interpreted as string not boolean ✔ Error on incorrect value type (boolean) ✔ Test that boolean value can be used in enum ✔ Test that boolean value can be used in const ✔ Test that YAML 1.1 boolean "True" can be used in enum ✔ Test that YAML 1.1 boolean "False" can be used in enum ✔ Test that YAML 1.1 boolean "yes" can be used with const ✔ Test that YAML 1.1 boolean "no" can be used with const String tests ✔ Test that boolean inside of quotations is of type string ✔ Type string validates under children ✔ Type String does not error on valid node ✔ Error on incorrect value type (string) ✔ Test that boolean is invalid when no strings present and schema wants string Pattern tests ✔ Test a valid Unicode pattern ✔ Test an invalid Unicode pattern ✔ Test a valid Unicode patternProperty ✔ Test an invalid Unicode patternProperty Number tests ✔ Type Number does not error on valid node ✔ Error on incorrect value type (number) Null tests ✔ Basic test on nodes with null Object tests ✔ Basic test on nodes with children ✔ Test with multiple nodes with children ✔ Type Object does not error on valid node ✔ Error on incorrect value type (object) Array tests ✔ Type Array does not error on valid node ✔ Error on incorrect value type (array) Anchor tests ✔ Anchor should not error ✔ Anchor with multiple references should not error ✔ Multiple Anchor in array of references should not error ✔ Multiple Anchors being referenced in same level at same time for yaml 1.1 ✔ Multiple Anchors being referenced in same level at same time for yaml generate error for 1.2 ✔ Nested object anchors should expand properly ✔ Anchor reference with a validation error in a sub-object emits the error in the right location ✔ Array Anchor merge Custom tag tests ✔ Custom Tags without type ✔ Custom Tags with type ✔ Include with value should not error ✔ Include without value should error Multiple type tests ✔ Do not error when there are multiple types in schema and theyre valid Invalid YAML errors ✔ Error when theres a finished untyped item ✔ Error when theres no value for a node Test with no schemas ✔ Duplicate properties are reported Test anchors ✔ Test that anchors with a schema do not report Property << is not allowed Test with custom kubernetes schemas ✔ Test that properties that match multiple enums get validated properly Null literals ✔ Test type null is parsed from [NULL] ✔ Test type null is parsed from [Null] ✔ Test type null is parsed from [null] ✔ Test type null is parsed from [~] ✔ Test type null is parsed from [] ✔ Test type null is working correctly in array Multi Document schema validation tests ✔ Document does not error when --- is present with schema ✔ Multi Document does not error when --- is present with schema Schema with title ✔ validator uses schema title instead of url Multiple schema for single file ✔ should add proper source to diagnostic (3330ms) ✔ should add proper source to diagnostic in case of drone (2533ms) Conditional Schema ✔ validator use "then" block if "if" valid ✔ should add errorMessage from schema when the property is missing ✔ should add errorMessage from sub-schema when the property is missing filePatternAssociation ✔ validator use "then" block if "if" match filePatternAssociation ✔ validator use "then" block if "if" match filePatternAssociation - regexp ✔ validator use "else" block if "if" not match filePatternAssociation Schema with uri-reference ✔ should validate multiple uri-references ✔ should not validate empty uri-reference Multiple similar schemas validation ✔ should distinguish types in error "Incorrect type (Expected "type1 | type2 | type3")" ✔ should combine types in "Incorrect type error" ✔ should combine const value ✔ should distinguish types in error: "Missing property from multiple schemas" Empty document validation ✔ should provide validation for empty document ✔ should provide validation for document which contains only whitespaces Additional properties validation ✔ should allow additional props on object by default Additional properties validation with enabled disableAdditionalProperties ✔ should return additional prop error when there is extra prop ✔ should return additional prop error when there is unknown prop - suggest missing props) ✔ should return error with possible props ✔ should allow additional props on object when additionalProp is true on object Bug fixes ✔ Resolving $refs: should ignore sibling keywords next to $ref ✔ schema should validate additionalProp oneOf (707ms) ✔ schema should validate ipv4 format - Negative Case ✔ schema should validate ipv4 format - Positive Case ✔ schema should validate ipv6 format - Negative Case ✔ schema should validate ipv6 format - Positive Case Wrong schema: "array", it MUST be an Object or Boolean Wrong schema: "boolean", it MUST be an Object or Boolean ✔ should handle bad schema refs ✔ should not use same AST for completion and validation Base URI + $id resolution ✔ $id URI fragments in Draft-07 (plain-name fragment resolution)" ✔ should resolve plain-name fragment via subschema $id (fragment form) ✔ root $id updates base URI for resolving relative $ref targets ✔ subschema $id updates base URI for relative $ref inside that subschema ✔ should resolve embedded resource $id for relative $ref without external load ✔ root $id can switch base scheme/host for resolution ✔ without root $id, relative $ref resolves against the retrieval URI and can fail Enum tests ✔ Enum Validation with invalid enum value ✔ Enum Validation with invalid type ✔ Enum Validation with invalid data ✔ value matches more than one schema in oneOf - but among one is format matches ✔ value matches more than one schema in oneOf Schema meta-validation ✔ should handle not valid schema object ✔ draft-04: exclusiveMinimum must be boolean ✔ draft-07: exclusiveMinimum must be number ✔ draft-2019-09: should handle invalid type in $defs ✔ draft-2020-12: prefixItems must be an array Settings Handlers Tests ✔ should not register configuration notification handler if client not supports dynamic handlers ✔ should register configuration notification handler only if client supports dynamic handlers ✔ SettingsHandler should not modify file match patterns Settings for YAML style should ✔ reflect to the settings ✔ reflect default values if no settings given Settings for key ordering should ✔ reflect to the settings ✔ reflect default values if no settings given Settings for file associations should ✔ reflect to settings state ✔ SettingsHandler should match patterns from file associations ✔ SettingsHandler should not match non-yaml files if there is no file assosication Test that schema priorities are available ✔ Schema Settings should have a priority ✔ Schema Associations should have a priority when schema association is an array ✔ Schema Associations should have a priority when schema association is a record Settings fetch ✔ should fetch preferences ✔ should set schemaStoreSettings to empty when schemaStore is disabled ✔ detect indentation settings change String Tests startsWith ✔ String with different lengths ✔ String with same length different first letter ✔ Same string endsWith ✔ String with different lengths ✔ Strings that are the same ✔ Other is smaller then one convertSimple2RegExp ✔ Test of convertRegexString2RegExp ✔ Test of convertGlobalPattern2RegExp safeCreateUnicodeRegExp ✔ should create unicode RegExp for non unicode patterns ✔ should create unicode RegExp for non unicode patterns2 ✔ should create unicode RegExp for non unicode patterns3 ✔ should create unicode RegExp for non unicode patterns4 ✔ should create unicode RegExp for non unicode patterns5 Telemetry Tests Kubernetos schema mapping ✔ should not report if schema is not k8s ✔ should report if schema is k8s TextBuffer ✔ getLineLength should return actual line length ✔ getLineLength should return actual line length, win style ✔ getLineContent should return actual line content ✔ getLineContent should return last line ✔ getLineCharCode should return charCode YAML Documents YAML Documents Cache Tests ✔ should cache parsed document ✔ should re parse document if document changed ✔ should invalidate cache if custom tags provided ✔ should use cache if custom tags are same Single YAML Document Tests ✔ Get node from position: key ✔ Get node from position: value ✔ Get node from position: map ✔ Get node from position: scalar in array ✔ Get node from position: array ✔ Get node from position: map with array ✔ Get node from position: flow map key ✔ Get node from position: flow map value ✔ get pair parent in array ✔ Find closes node: map ✔ Find closes node: array ✔ Find closes node: root map ✔ should parse document when no yamlVersion is provided CodeActions Tests JumpToSchema tests ✔ should not provide any actions if there are no diagnostics ✔ should provide action if diagnostic has uri for schema ✔ should provide multiple action if diagnostic has uri for multiple schemas Convert TAB to Spaces ✔ should add "Convert TAB to Spaces" CodeAction ✔ should support current indentation chars settings ✔ should provide "Convert all Tabs to Spaces" Remove Unused Anchor ✔ should generate proper action ✔ should delete all whitespace after unused anchor Convert to Block Style ✔ should generate action to convert flow map to block map Map Key Order ✔ should generate action to order a map with incorrect key order ✔ should generate action to order nested and block maps ✔ should preserve line breaks when ordering block maps without trailing newline ✔ should preserve line breaks when ordering block maps with trailing newline ✔ reordered entries should stay one-per-line after reordering ✔ should preserve trailing content after a map when ordering keys ✔ should generate action to order maps with multi-line strings ✔ should generate actions when values are missing ✔ should preserve comments Enum value or property mismatch quick fix ✔ should generate proper action for enum mismatch ✔ should generate proper action for wrong property ✔ should generate proper action for enum mismatch, title converted to string value ✔ should generate proper action for enum with escaped quote strings Change string to block string ✔ should split up double quoted text with newlines ✔ should split up double quoted text with newlines and trailing newline ✔ should split up double quoted text with newlines and double trailing newline ✔ should split up long lines of double quoted text ✔ should split up long lines of double quoted text using configured width ✔ should convert single quote text with newline ✔ should convert single quote text with leading whitespace ✔ should leave the whitespace at the end of the line when folding a double quoted string ✔ should use the '+' block chomping indicator when there are trailing newlines ✔ should handle nested indentation ✔ should give up on folded block string if there is trailing whitespace ✔ should not give out of range string conversion suggestions when cursor is placed in string ✔ should not give out of range string conversion suggestions when selecting part of the string ✔ should not give out of range string conversion suggestions when selecting all of the string ✔ should not give any string conversion suggestions when cursor not in a string ✔ should not give any string conversion suggestions when selection doesn't cover a string ✔ process block string conversion only til closing quote YAML CodeLens ✔ should provides CodeLens with jumpToSchema command ✔ should place CodeLens at beginning of the file and it has command ✔ should place one CodeLens at beginning of the file for multiple documents ✔ command name should contains schema title ✔ command name should contains schema title and description ✔ should provide lens for oneOf schemas ✔ should provide lens for allOf schemas ✔ should provide lens for anyOf schemas Yaml Commands ✔ should register handler for "JumpToSchema" command ✔ JumpToSchema handler should call "showDocument" ✔ JumpToSchema handler should call "showDocument" with plain win path ✔ JumpToSchema handler should call "showDocument" with custom web schema YAML Definition ✔ should not provide definition for non anchor node ✔ should provide definition for anchor YAML Folding ✔ should return undefined if no document provided ✔ should return empty array for empty document ✔ should provide folding ranges for object ✔ should provide folding ranges for array ✔ should provide folding ranges for multiple documents ✔ should not include comments on folding ranges ✔ should provide folding ranges for multiline string ✔ should provide folding ranges for mapping in array ✔ should provide folding ranges for mapping in mapping ✔ should provide proper folding for map in map with array ✔ should provide proper folding for map in map with array2 ✔ should respect range limits getLanguageService() ✔ successfully creates an instance without optional arguments minimal language service hover happy path ✔ successfully creates an instance without optional arguments YAML On Type Formatter ✔ should react on "\n" only ✔ should add indentation for mapping ✔ should add indentation for scalar array items ✔ should add indentation for mapping in array ✔ should replace all spaces in newline ✔ should keep all non white spaces characters in newline ✔ should add indentation for multiline string YAML parser YAML parser ✔ parse emtpy text ✔ parse only comment ✔ parse single document with --- at the start of the file ✔ parse multi document with --- at the start of the file ✔ parse single document with directives and line comments ✔ parse 2 documents with directives and line comments ✔ parse single document ✔ parse single document with directives ✔ parse 2 documents ✔ parse 3 documents ✔ parse single document with comment ✔ parse 2 documents with comment ✔ parse 2 documents with comment and a directive ✔ parse document with comment first ✔ parse document with comment first and directive ✔ parse document with comment first, directive, and seperator ✔ parse document with "str" tag from recommended schema ✔ parse document with "int" tag from recommended schema ✔ parse aliases up to a depth ✔ parse aliases up to a depth for multiple objects YAML parser bugs ✔ should work with "Billion Laughs" attack ✔ should work with circular aliases ✔ should not add "undefined" as array item YAML version ✔ should use yaml 1.2 by default ✔ should respect yaml 1.1 YAML Rename ✔ renames anchor and aliases when invoked on alias ✔ renames when cursor is on anchor token ✔ limits rename to current YAML document ✔ returns null for unresolved alias ✔ prepareRename rejects non-alias/anchor positions ✔ rejects invalid anchor names with flow indicator or whitespace characters ✔ allows anchor names with valid special characters YAML Schema ✔ Loading yaml scheme ✔ Error while loading yaml ✔ Error while parsing yaml scheme (node:27944) [BAD_DIRECTIVE] YAMLWarning: Unknown directive %464*&^^&*%@$&^##$ at line 1, column 1: %464*&^^&*%@$&^##$ ^^^^^^^^^^^^^^^^^^ YAML Schema Service Schema for resource ✔ should handle inline schema http url ✔ should handle inline schema https url ✔ should handle url with fragments ✔ should handle url with fragments when root object is schema ✔ should handle file path with fragments ✔ should use local sibling schema path before remote $id ref ✔ should resolve absolute $ref via remote base and mapped local sibling path ✔ should fallback to remote $id target for absolute $ref when mapped local target is missing ✔ should reload local schema after local file change when resolving via local sibling path instead of remote $id ✔ should handle modeline schema comment in the middle of file ✔ should handle modeline schema comment in multiline comments ✔ should handle crd catalog for crd ✔ should handle nonstandard location for OpenShift crd ✔ should not get schema from crd catalog if definition in kubernetes schema ✔ should not get schema from crd catalog if definition in kubernetes schema (multiple oneOf) YAML Selection Ranges Tests ✔ selection ranges for mapping ✔ selection ranges for sequence ✔ selection ranges for array of objects ✔ selection ranges for trailing spaces ✔ selection ranges jump for "" '' ✔ selection ranges jump for [] {} ✔ selection ranges for multiple positions ✔ selection ranges for multiple documents YAML Validation Tests ✔ disables validation when language-overridable yaml.validate is false TAB Character diagnostics ✔ Should report if TAB character present ✔ Should report one error for TAB character present in a row ✔ Should report one error for TAB`s characters present in the middle of indentation ✔ Should allow proper space indentation followed by tab Unused anchors diagnostics ✔ should report unused anchor ✔ should not report used anchor ✔ should report unused anchors in array Unresolved alias diagnostics ✔ should report unresolved alias YAML styles test ✔ should not report flow style ✔ should report flow style ✔ should report only sequence when flow mapping is allow ✔ should report flow error for empty map & sequence Map keys order Tests ✔ should report the first key order error - test 1 ✔ should report the first key order error - test 2 ✔ should report key order error for flow style maps ✔ should report key order error for nested ✔ should NOT report any errors yaml-language-server-disable comment suppression ✔ should suppress all diagnostics on the next line when no specifiers given ✔ should suppress only matching diagnostics when specifiers are given ✔ should keep diagnostics that do not match the specifier ✔ should not suppress diagnostics without a preceding disable comment ✔ should only suppress the immediately following line ✔ should suppress unused anchor diagnostics ✔ should handle indented disable comments 1275 passing (36s) 5 pending >>> yaml-language-server: Entering fakeroot... >>> yaml-language-server-doc*: Running split function doc... 'usr/share/licenses' -> '/home/buildozer/aports/testing/yaml-language-server/pkg/yaml-language-server-doc/usr/share/licenses' >>> yaml-language-server-doc*: Preparing subpackage yaml-language-server-doc... >>> yaml-language-server-doc*: Running postcheck for yaml-language-server-doc >>> yaml-language-server*: Running postcheck for yaml-language-server >>> yaml-language-server*: Preparing package yaml-language-server... >>> yaml-language-server-doc*: Tracing dependencies... >>> yaml-language-server-doc*: Package size: 1.1 KB >>> yaml-language-server-doc*: Compressing data... >>> yaml-language-server-doc*: Create checksum... >>> yaml-language-server-doc*: Create yaml-language-server-doc-1.21.0-r0.apk >>> yaml-language-server*: Tracing dependencies... nodejs >>> yaml-language-server*: Package size: 3.2 MB >>> yaml-language-server*: Compressing data... >>> yaml-language-server*: Create checksum... >>> yaml-language-server*: Create yaml-language-server-1.21.0-r0.apk >>> yaml-language-server: Build complete at Sat, 28 Feb 2026 11:37:26 +0000 elapsed time 0h 1m 3s >>> yaml-language-server: Cleaning up srcdir >>> yaml-language-server: Cleaning up pkgdir >>> yaml-language-server: Cleaning up tmpdir >>> yaml-language-server: Uninstalling dependencies... ( 1/13) Purging .makedepends-yaml-language-server (20260228.113624) ( 2/13) Purging npm (11.9.0-r0) ( 3/13) Purging nodejs (24.13.0-r3) ( 4/13) Purging ca-certificates (20251003-r0) Executing ca-certificates-20251003-r0.post-deinstall ( 5/13) Purging esbuild (0.27.1-r2) ( 6/13) Purging jq (1.8.1-r0) ( 7/13) Purging ada-libs (3.3.0-r0) ( 8/13) Purging icu-libs (78.1-r0) ( 9/13) Purging oniguruma (6.9.10-r0) (10/13) Purging simdjson (4.2.4-r0) (11/13) Purging simdutf (8.0.0-r0) (12/13) Purging sqlite-libs (3.51.2-r1) (13/13) Purging icu-data-en (78.1-r0) Executing busybox-1.37.0-r31.trigger OK: 289.5 MiB in 105 packages >>> yaml-language-server: Updating the testing/armv7 repository index... >>> yaml-language-server: Signing the index...