Add yaml-test-suite (#18301)
This commit is contained in:
1 parent
9a571e44dc
commit
a3d27e96c6
4 files changed
+6342
-1
No files matched your search
+2
-1
@@ -172,7 +172,8 @@
|
|||||||
"serialize-javascript": "7.0.0",
|
"serialize-javascript": "7.0.0",
|
||||||
"tempy": "3.1.0",
|
"tempy": "3.1.0",
|
||||||
"tinybench": "5.1.0",
|
"tinybench": "5.1.0",
|
||||||
"ts-expect": "1.3.0"
|
"ts-expect": "1.3.0",
|
||||||
|
"yaml-test-suite": "0.0.2"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"trim": "1.0.1"
|
"trim": "1.0.1"
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,64 @@
|
|||||||
|
import yamlTestSuite from "yaml-test-suite";
|
||||||
|
|
||||||
|
const FIXTURE_EXTENSION = ".yaml";
|
||||||
|
const SKIP = new Set([
|
||||||
|
// duplicate empty keys are invalid
|
||||||
|
// https://github.com/eemeli/yaml/blob/92821f2b8164f9831ff5a51f6e5a575e06365742/tests/yaml-test-suite.ts#L20
|
||||||
|
// Map keys must be unique; "null" is repeated
|
||||||
|
// https://prettier.io/playground/#N4Igxg9gdgLgprEAuZACAhgHSk1AjbEAGhAgAcYBLaAZ2VHQCdGIB3ABSYTpXQBtW6AJ50SeRujABrODADK6ALZwAMpShxkAM3404JCHgBWcMDADqEsshBlGcPYwBumsROmy5ZSeoDmyGEYAV30QPUVKAODQuAAPMjhGSmVYfgB5BIkYCEZ2CBpKKmgbBAATYhA4zOSEGH4AFUSoJkoHbV1QgqhfPjgARSCIeHa+PRIjGli5P16Boc0kHVHQgEdB+HYWMh4QdBoAWg04UuOKwPRKPj8AYQhFRXQbfj4Krp64AEEYQMo8II3EmoNCMxiAABYwRR8cxgwoObxgOBybiFShOQpCGxgGiiEBOEIASSgJ1gcjASQoH2JchgQl6INCdnycEs6GsKDsDkSLgq6kcME26F8DwZJG8jEcNiESheYqSsHMlFKMDByAAHAAGEj2NaUeyC4WPRYdEh1PCK5WqpAAJhIQT09XQeB4S1BcEUeGOJ1KKnQ3SCQrgADEcg9vn4nv8ICAAL4xoA
|
||||||
|
"2JQS.yaml",
|
||||||
|
// Plain value cannot start with a tab character
|
||||||
|
// https://prettier.io/playground/#N4Igxg9gdgLgprEAuEAzCEkB0oAIswBGAhgE4gA0IEADjAJbQDOyoZpEA7gApkIspiAG07EAniyqFSxMAGs4MAMrEAtnAAy9KHGSphTOFQiEAVnDAwA6jJrIQNUnEOkAbrqkz5ipTVnaAc2QYUgBXIxBDVXpgsIi4AA8aOFJ6dVhhAHlkmRgIUm4IJnoGaHsEABNKEESctIQYYQAVFKgyemc9AwjiqAChOABFUIh4LqFDKlMmBKVAgeHR3SR9CYiARxH4bg4aARBiJgBaHTgKs+qQ4nohQIBhCFVVYnthIWre-rgAQRgQ+kIoW2KS0OnGkxAAAsYKohFZISVnH4wHAlPwSvRXCUxPYwExJCBXOEAJJQc6wJRgVJ0b5kpQwMQDcERRxFOA2Yh2FCOZwpdzVbQuGA7YgBZ7Mqh+UguexiNTvSWpWBWegVGCQ5AADgADFQnJt6E4RWKXitulRGoQVWqNUgAExUUKGJrEQgCVYQuCqQhnc4VDTEPqhUVwABi+Wef0CryBEBAAF940A
|
||||||
|
"DK95.yaml",
|
||||||
|
// Insufficient indentation in flow collection
|
||||||
|
// https://prettier.io/playground/#N4Igxg9gdgLgprEAuEBaABAbQDpWzXdAMwgkIF1cQAaECABxgEtoBnZUAQwCduIB3AAo8E7FJwA2-TgE92tAEbdOYANZwYAZU4BbOABkmUOMiKTWcWhAUArOGBgB1ZfWQh63OBe4A3E4uU1DU16FSMAc2QYbgBXSxALHSYo2Pi4AA96OG4mPVhJAHks5RgIbkEIViZmaDcEABMaEAzi3IQYSQAVbKgeJi9Tc3iqqHCJOABFGIh4QYkLWhtWdM0I8amZkyQzefiAR2n4QT56MRBOVlRjOHqbpujOJgkIgGEIHR1ON0kJJpGxuAAQRg0SYChiR2yhmMcwWIAAFjAdBJHPDql5QmA4JpRNUmD5qjI3GBWPIQD44gBJKC3WCaMA5RiAmmaGAycaw+IeSpwZycVwoDxebJ+JpGbwwY6ccKfTm0ULcbxuGS6X7ynKwRxMeoweHIAAcAAZaJ4DkxPFKZV9tkNaB0FFqdXqkAAmWgxCydTgKMQ7OFwHQKG63er6TijGLSuAAMTKnxBEW+EIgIAAvqmgA
|
||||||
|
"Y79Y-3.yaml",
|
||||||
|
]);
|
||||||
|
|
||||||
|
// https://github.com/prettier/prettier/issues/18302
|
||||||
|
const BUGS = new Set([
|
||||||
|
"DE56-3.yaml",
|
||||||
|
"DE56-4.yaml",
|
||||||
|
"JEF9-2.yaml",
|
||||||
|
"JEF9-3.yaml",
|
||||||
|
"K3WX.yaml",
|
||||||
|
"L24T-2.yaml",
|
||||||
|
]);
|
||||||
|
|
||||||
|
runFormatTest(
|
||||||
|
{
|
||||||
|
importMeta: import.meta,
|
||||||
|
snippets: yamlTestSuite.flatMap(({ name, filename, cases }) =>
|
||||||
|
cases
|
||||||
|
.map((testCase, index) => {
|
||||||
|
if (testCase.fail) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const filenameToDisplay =
|
||||||
|
index === 0
|
||||||
|
? filename
|
||||||
|
: filename.slice(0, -FIXTURE_EXTENSION.length) +
|
||||||
|
`-${index + 1}` +
|
||||||
|
FIXTURE_EXTENSION;
|
||||||
|
|
||||||
|
if (SKIP.has(filenameToDisplay) || BUGS.has(filenameToDisplay)) {
|
||||||
|
// console.log(testCase);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
name:
|
||||||
|
filenameToDisplay +
|
||||||
|
" - " +
|
||||||
|
name +
|
||||||
|
(index === 0 ? "" : `(${index + 1})`),
|
||||||
|
filename: filenameToDisplay,
|
||||||
|
code: testCase.yaml,
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.filter(Boolean),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
["yaml"],
|
||||||
|
);
|
||||||
@@ -7590,6 +7590,7 @@ __metadata:
|
|||||||
vnopts: "npm:2.0.3"
|
vnopts: "npm:2.0.3"
|
||||||
wcwidth.js: "npm:2.0.0"
|
wcwidth.js: "npm:2.0.0"
|
||||||
yaml: "npm:1.10.2"
|
yaml: "npm:1.10.2"
|
||||||
|
yaml-test-suite: "npm:0.0.2"
|
||||||
yaml-unist-parser: "npm:2.1.1"
|
yaml-unist-parser: "npm:2.1.1"
|
||||||
bin:
|
bin:
|
||||||
prettier: ./bin/prettier.cjs
|
prettier: ./bin/prettier.cjs
|
||||||
@@ -9220,6 +9221,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"yaml-test-suite@npm:0.0.2":
|
||||||
|
version: 0.0.2
|
||||||
|
resolution: "yaml-test-suite@npm:0.0.2"
|
||||||
|
checksum: 10/d0c5b2610f78deae40dcbb1d4adb5024190d3cd36e5423d1e554d894087919a6e991ee26bce88717864d64c80764fa4d2964b936b0f7e92c0820da1d75790854
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"yaml-unist-parser@npm:2.1.1":
|
"yaml-unist-parser@npm:2.1.1":
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
resolution: "yaml-unist-parser@npm:2.1.1"
|
resolution: "yaml-unist-parser@npm:2.1.1"
|
||||||
|
|||||||
Reference in new issue
Block a user