diff --git a/.github/workflows/tests-translate.yml b/.github/workflows/tests-translate.yml index 985dd0a4..719895d1 100644 --- a/.github/workflows/tests-translate.yml +++ b/.github/workflows/tests-translate.yml @@ -4,6 +4,9 @@ on: pull_request: paths: - 'translate/**' + - 'ranges/**' + - 'core/**' + - 'aliases/**' branches: - main workflow_dispatch: diff --git a/translate/examples/default.js b/translate/examples/default.js index 1ece117b..87bec249 100644 --- a/translate/examples/default.js +++ b/translate/examples/default.js @@ -3,7 +3,7 @@ const translate = require('../index'); // would normally be "const translate = r async function getTranslatedData() { // translation for the 'current' Package Support term - const translatedCurrent = await ranges('current'); + const translatedCurrent = await ranges(await translate('current')); // translation for the 'lts_latest' Package Support term const translatedLtsLatest = await ranges(await translate('lts_latest')); diff --git a/translate/package.json b/translate/package.json index f294afbb..e96751ff 100644 --- a/translate/package.json +++ b/translate/package.json @@ -24,7 +24,7 @@ }, "devDependencies": { "@biomejs/biome": "1.9.4", - "@nodevu/ranges": "^0.1.0", + "@nodevu/ranges": "^1.0.0", "c8": "^10.1.2" }, "engines": { diff --git a/translate/test/ranges.test.js b/translate/test/ranges.test.js index d28c40bd..ae8e5323 100644 --- a/translate/test/ranges.test.js +++ b/translate/test/ranges.test.js @@ -2,48 +2,53 @@ const assert = require('node:assert'); const translate = require('../index'); const ranges = require('@nodevu/ranges'); const { describe, it } = require('node:test'); +const { at } = require('../../ranges/test/fixtures'); + +// serve core's snapshot data at a fixed date so results don't depend on +// nodejs.org or today's date +const options = at(); describe('test that each alias works with @nodevu/ranges', async () => { it('should return the same result when both the translated and untranslated "current" are passed to @nodevu/ranges', async () => { - const untranslated = await ranges('current'); - const translated = await ranges(await translate('current')); + const untranslated = await ranges('current', options); + const translated = await ranges(await translate('current'), options); assert.deepStrictEqual(untranslated, translated); }); it('should return the same result when "lts/latest" and the translated "lts_latest" are passed to @nodevu/ranges', async () => { - const untranslated = await ranges('lts/latest'); - const translated = await ranges(await translate('lts_latest')); + const untranslated = await ranges('lts/latest', options); + const translated = await ranges(await translate('lts_latest'), options); assert.deepStrictEqual(untranslated, translated); }); it('should return the same result when "lts/active" and "lts/maintenance" and the translated "lts" are passed to @nodevu/ranges', async () => { - const untranslated = await ranges(['lts/active', 'lts/maintenance']); - const translated = await ranges(await translate('lts')); + const untranslated = await ranges( + ['lts/active', 'lts/maintenance'], + options, + ); + const translated = await ranges(await translate('lts'), options); assert.deepStrictEqual(untranslated, translated); }); it('should return the same result when "current", "lts/active", and "lts/maintenance" and the translated "supported" are passed to @nodevu/ranges', async () => { - const untranslated = await ranges([ - 'current', - 'lts/active', - 'lts/maintenance', - ]); - const translated = await ranges(await translate('supported')); + const untranslated = await ranges( + ['current', 'lts/active', 'lts/maintenance'], + options, + ); + const translated = await ranges(await translate('supported'), options); assert.deepStrictEqual(untranslated, translated); }); it('should return the same result when "current", "lts/active", "lts/maintenance", and "eol" and the translated "all" are passed to @nodevu/ranges', async () => { - const untranslated = await ranges([ - 'current', - 'lts/active', - 'lts/maintenance', - 'eol', - ]); - const translated = await ranges(await translate('all')); + const untranslated = await ranges( + ['current', 'lts/active', 'lts/maintenance', 'eol'], + options, + ); + const translated = await ranges(await translate('all'), options); assert.deepStrictEqual(untranslated, translated); }); diff --git a/translate/test/unknown.test.js b/translate/test/unknown.test.js new file mode 100644 index 00000000..0d5cb5ae --- /dev/null +++ b/translate/test/unknown.test.js @@ -0,0 +1,11 @@ +const assert = require('node:assert'); +const translate = require('../index'); +const { describe, it } = require('node:test'); + +describe('test that translating an unknown value fails', async () => { + it('should throw when passed a value that is not a Package Support term', async () => { + await assert.rejects(translate('lts/latest'), { + message: 'Unknown value: lts/latest', + }); + }); +});