diff --git a/test/golden-utils.js b/test/golden-utils.js index be92007430c3e..096ee526cd7e3 100644 --- a/test/golden-utils.js +++ b/test/golden-utils.js @@ -85,6 +85,8 @@ function compareText(actual, expectedBuffer) { * @return {!{pass: boolean, message: (undefined|string)}} */ function compare(goldenPath, outputPath, actual, goldenName) { + goldenPath = path.normalize(goldenPath); + outputPath = path.normalize(outputPath); const expectedPath = path.join(goldenPath, goldenName); const actualPath = path.join(outputPath, goldenName); @@ -110,9 +112,13 @@ function compare(goldenPath, outputPath, actual, goldenName) { if (!result) return { pass: true }; ensureOutputDir(); - fs.writeFileSync(actualPath, actual); - // Copy expected to the output/ folder for convenience. - fs.writeFileSync(addSuffix(actualPath, '-expected'), expected); + if (goldenPath === outputPath) { + fs.writeFileSync(addSuffix(actualPath, '-actual'), actual); + } else { + fs.writeFileSync(actualPath, actual); + // Copy expected to the output/ folder for convenience. + fs.writeFileSync(addSuffix(actualPath, '-expected'), expected); + } if (result.diff) { const diffPath = addSuffix(actualPath, '-diff', result.diffExtension); fs.writeFileSync(diffPath, result.diff); diff --git a/utils/doclint/check_public_api/test/.gitignore b/utils/doclint/check_public_api/test/.gitignore new file mode 100644 index 0000000000000..17526b1162a50 --- /dev/null +++ b/utils/doclint/check_public_api/test/.gitignore @@ -0,0 +1,2 @@ +result-actual.txt +result-diff.html diff --git a/utils/doclint/check_public_api/test/01-class-errors/01-class-errors.txt b/utils/doclint/check_public_api/test/01-class-errors/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/01-class-errors/01-class-errors.txt rename to utils/doclint/check_public_api/test/01-class-errors/result.txt diff --git a/utils/doclint/check_public_api/test/golden/02-method-errors.txt b/utils/doclint/check_public_api/test/02-method-errors/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/02-method-errors.txt rename to utils/doclint/check_public_api/test/02-method-errors/result.txt diff --git a/utils/doclint/check_public_api/test/golden/03-property-errors.txt b/utils/doclint/check_public_api/test/03-property-errors/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/03-property-errors.txt rename to utils/doclint/check_public_api/test/03-property-errors/result.txt diff --git a/utils/doclint/check_public_api/test/golden/04-bad-arguments.txt b/utils/doclint/check_public_api/test/04-bad-arguments/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/04-bad-arguments.txt rename to utils/doclint/check_public_api/test/04-bad-arguments/result.txt diff --git a/utils/doclint/check_public_api/test/golden/05-event-errors.txt b/utils/doclint/check_public_api/test/05-event-errors/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/05-event-errors.txt rename to utils/doclint/check_public_api/test/05-event-errors/result.txt diff --git a/utils/doclint/check_public_api/test/golden/06-duplicates.txt b/utils/doclint/check_public_api/test/06-duplicates/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/06-duplicates.txt rename to utils/doclint/check_public_api/test/06-duplicates/result.txt diff --git a/utils/doclint/check_public_api/test/golden/07-sorting.txt b/utils/doclint/check_public_api/test/07-sorting/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/07-sorting.txt rename to utils/doclint/check_public_api/test/07-sorting/result.txt diff --git a/utils/doclint/check_public_api/test/golden/08-return.txt b/utils/doclint/check_public_api/test/08-return/result.txt similarity index 100% rename from utils/doclint/check_public_api/test/golden/08-return.txt rename to utils/doclint/check_public_api/test/08-return/result.txt diff --git a/utils/doclint/check_public_api/test/golden/01-class-errors.txt b/utils/doclint/check_public_api/test/golden/01-class-errors.txt deleted file mode 100644 index 2852a437c6ef6..0000000000000 --- a/utils/doclint/check_public_api/test/golden/01-class-errors.txt +++ /dev/null @@ -1,3 +0,0 @@ -[MarkDown] Non-existing class found: Bar -[MarkDown] Non-existing class found: Baz -[MarkDown] Class not found: Other \ No newline at end of file diff --git a/utils/doclint/check_public_api/test/test.js b/utils/doclint/check_public_api/test/test.js index 744c8fd79d0fa..9457d41d0168b 100644 --- a/utils/doclint/check_public_api/test/test.js +++ b/utils/doclint/check_public_api/test/test.js @@ -44,10 +44,6 @@ afterAll(SX(async function() { await browser.close(); })); -beforeEach(function() { - GoldenUtils.addMatchers(jasmine, GOLDEN_DIR, OUTPUT_DIR); -}); - describe('checkPublicAPI', function() { it('01-class-errors', SX(test)); it('02-method-errors', SX(test)); @@ -61,12 +57,13 @@ describe('checkPublicAPI', function() { async function test() { const dirPath = path.join(__dirname, specName); + GoldenUtils.addMatchers(jasmine, dirPath, dirPath); const factory = new SourceFactory(); const mdSources = await factory.readdir(dirPath, '.md'); const jsSources = await factory.readdir(dirPath, '.js'); const messages = await checkPublicAPI(page, mdSources, jsSources); const errors = messages.map(message => message.text); - expect(errors.join('\n')).toBeGolden(specName + '.txt'); + expect(errors.join('\n')).toBeGolden('result.txt'); } // Since Jasmine doesn't like async functions, they should be wrapped