From b8d38cc8ebefd93d8f5adad4590d2e5947e311f5 Mon Sep 17 00:00:00 2001 From: Marin Atanasov Date: Tue, 8 Aug 2023 13:07:13 +0300 Subject: [PATCH 1/2] Replace tape with jest --- jest.config.js | 4 ++++ package.json | 4 ++-- test.js | 61 +++++++++++++++++++++----------------------------- 3 files changed, 32 insertions(+), 37 deletions(-) create mode 100644 jest.config.js diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..ebbd22c --- /dev/null +++ b/jest.config.js @@ -0,0 +1,4 @@ +module.exports = { + testEnvironment: 'node', + testMatch: [ '/test.js' ], +}; diff --git a/package.json b/package.json index d4d50f3..335692c 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ "main": "index.js", "dependencies": {}, "devDependencies": { - "tape": "^4.2.2" + "jest": "^29.6.2" }, "scripts": { - "test": "tape test.js" + "test": "jest -c=jest.config.js" }, "repository": { "type": "git", diff --git a/test.js b/test.js index bea305e..631fabb 100644 --- a/test.js +++ b/test.js @@ -1,56 +1,47 @@ -var tape = require('tape'); -var removeAccents = require('./'); +var removeAccents = require("./"); -tape('remove accents from string', function(t) { - var input = 'ÀÁÂÃÄÅẤẮÆẦẰẢẠẨẪẬÇḈÈÉÊËẾḖỀḔẺẼẸỂỄỆÌÍÎÏḮỈỊÐÑÒÓÔÕÖØỐṌṒỎỌỔỖỘỜỞỠỚỢÙÚÛÜỦỤỬỮỰÝàáâãäåấắæầằảạẩẫậçḉèéêëếḗềḕẻẽẹểễệìíîïḯỉịñòóôõöøốṍṓỏọổỗộờởỡớợùúûüủụửữựýÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģǴǵĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķḰḱĹĺĻļĽľĿŀŁłḾḿŃńŅņŇňʼnŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵẂẃŶŷŸŹźŻżŽžſƒƠơƯưǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜỨứṸṹǺǻǼǽǾǿðÞþṔṕṤṥX́x́ЃѓЌќA̋a̋E̋e̋I̋i̋ǸǹỒồṐṑỪừẀẁỲỳȀȁȄȅȈȉȌȍȐȑȔȕẲẴẶḜẳẵặḝC̆c̆ḪḫK̆k̆M̆m̆N̆n̆P̆p̆R̆r̆T̆t̆V̆v̆X̆x̆Y̆y̆ȂȆȊȎȃȇȋȏȒȓȖȗșțȘȚB̌b̌F̌f̌ǦǧȞȟJ̌ǰǨǩM̌m̌P̌p̌Q̌q̌ṦṧV̌v̌W̌w̌X̌x̌Y̌y̌A̧a̧B̧b̧ḐḑȨȩƐ̧ɛ̧ḨḩI̧i̧Ɨ̧ɨ̧M̧m̧O̧o̧Q̧q̧U̧u̧X̧x̧Z̧z'; +test("remove accents from string", function () { + var input = + "ÀÁÂÃÄÅẤẮÆẦẰẢẠẨẪẬÇḈÈÉÊËẾḖỀḔẺẼẸỂỄỆÌÍÎÏḮỈỊÐÑÒÓÔÕÖØỐṌṒỎỌỔỖỘỜỞỠỚỢÙÚÛÜỦỤỬỮỰÝàáâãäåấắæầằảạẩẫậçḉèéêëếḗềḕẻẽẹểễệìíîïḯỉịñòóôõöøốṍṓỏọổỗộờởỡớợùúûüủụửữựýÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģǴǵĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķḰḱĹĺĻļĽľĿŀŁłḾḿŃńŅņŇňʼnŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵẂẃŶŷŸŹźŻżŽžſƒƠơƯưǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜỨứṸṹǺǻǼǽǾǿðÞþṔṕṤṥX́x́ЃѓЌќA̋a̋E̋e̋I̋i̋ǸǹỒồṐṑỪừẀẁỲỳȀȁȄȅȈȉȌȍȐȑȔȕẲẴẶḜẳẵặḝC̆c̆ḪḫK̆k̆M̆m̆N̆n̆P̆p̆R̆r̆T̆t̆V̆v̆X̆x̆Y̆y̆ȂȆȊȎȃȇȋȏȒȓȖȗșțȘȚB̌b̌F̌f̌ǦǧȞȟJ̌ǰǨǩM̌m̌P̌p̌Q̌q̌ṦṧV̌v̌W̌w̌X̌x̌Y̌y̌A̧a̧B̧b̧ḐḑȨȩƐ̧ɛ̧ḨḩI̧i̧Ɨ̧ɨ̧M̧m̧O̧o̧Q̧q̧U̧u̧X̧x̧Z̧z"; var output = removeAccents(input); - var expected = 'AAAAAAAAAEAAAAAAACCEEEEEEEEEEEEEEIIIIIIIDNOOOOOOOOOOOOOOOOOOOUUUUUUUUUYaaaaaaaaaeaaaaaaacceeeeeeeeeeeeeeiiiiiiinooooooooooooooooooouuuuuuuuuyyAaAaAaCcCcCcCcDdDdEeEeEeEeEeGgGgGgGgGgHhHhIiIiIiIiIiIJijJjKkKkLlLlLlLlllMmNnNnNnnOoOoOoOEoeRrRrRrSsSsSsSsTtTtTtUuUuUuUuUuUuWwWwYyYZzZzZzsfOoUuAaIiOoUuUuUuUuUuUuUuAaAEaeOodTHthPpSsXxГгКкAaEeIiNnOoOoUuWwYyAaEeIiOoRrUuAAAEaaaeCcHhKkMmNnPpRrTtVvXxYyAEIOaeioRrUustSTBbFfGgHhJjKkMmPpQqSsVvWwXxYyAaBbDdEeEeHhIiIiMmOoQqUuXxZz'; + var expected = + "AAAAAAAAAEAAAAAAACCEEEEEEEEEEEEEEIIIIIIIDNOOOOOOOOOOOOOOOOOOOUUUUUUUUUYaaaaaaaaaeaaaaaaacceeeeeeeeeeeeeeiiiiiiinooooooooooooooooooouuuuuuuuuyyAaAaAaCcCcCcCcDdDdEeEeEeEeEeGgGgGgGgGgHhHhIiIiIiIiIiIJijJjKkKkLlLlLlLlllMmNnNnNnnOoOoOoOEoeRrRrRrSsSsSsSsTtTtTtUuUuUuUuUuUuWwWwYyYZzZzZzsfOoUuAaIiOoUuUuUuUuUuUuUuAaAEaeOodTHthPpSsXxГгКкAaEeIiNnOoOoUuWwYyAaEeIiOoRrUuAAAEaaaeCcHhKkMmNnPpRrTtVvXxYyAEIOaeioRrUustSTBbFfGgHhJjKkMmPpQqSsVvWwXxYyAaBbDdEeEeHhIiIiMmOoQqUuXxZz"; - t.same( output, expected ); - - t.end(); + expect(output).toBe(expected); }); -tape('remove cyrillic accents from string', function(t) { - var input = 'ЁёЙй'; +test("remove cyrillic accents from string", function () { + var input = "ЁёЙй"; var output = removeAccents(input); - var expected = 'ЕеИи'; - - t.same( output, expected ); + var expected = "ЕеИи"; - t.end(); + expect(output).toBe(expected); }); -tape('do not modify non-accented strings', function(t) { - var input = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789.,:;~`!@#$%^&*()-_=+[]{}\'"|\\<>?/eEиИ'; +test("do not modify non-accented strings", function () { + var input = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789.,:;~`!@#$%^&*()-_=+[]{}'\"|\\<>?/eEиИ"; var output = removeAccents(input); - t.same( output, input ); - - t.end(); + expect(output).toBe(input); }); -tape('.has can detect accents', function(t) { - t.equal(removeAccents.has('À'), true); - t.equal(removeAccents.has('Löwe'), true); +test(".has can detect accents", function () { + expect(removeAccents.has("À")).toBe(true); + expect(removeAccents.has("Löwe")).toBe(true); - t.equal(removeAccents.has('A'), false); - t.equal(removeAccents.has('Panther'), false); - - t.end(); + expect(removeAccents.has("A")).toBe(false); + expect(removeAccents.has("Panther")).toBe(false); }); -tape('.remove method', function(t) { - t.same(removeAccents.toString(), removeAccents.remove.toString()); - - t.same(removeAccents.remove('cat'), 'cat'); - t.same(removeAccents.remove('Pokémon'), 'Pokemon'); +test(".remove method", function () { + expect(removeAccents.toString()).toBe(removeAccents.remove.toString()); - t.end(); + expect(removeAccents.remove("cat")).toBe("cat"); + expect(removeAccents.remove("Pokémon")).toBe("Pokemon"); }); // See https://github.com/tyxla/remove-accents/issues/12 -tape('ß is not accented', function(t) { - t.same(removeAccents.remove('Straße'), 'Straße'); - t.end(); +test("ß is not accented", function () { + expect(removeAccents.remove("Straße")).toBe("Straße"); }); From 742d9ae25e1ee90cbdcd0595f303f4ad35d032d8 Mon Sep 17 00:00:00 2001 From: Marin Atanasov Date: Tue, 8 Aug 2023 13:11:43 +0300 Subject: [PATCH 2/2] Support Node 20.x, remove older than 14.x --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 014e032..cdef74a 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: - node-version: [10.x, 12.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x] + node-version: [14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x] steps: - uses: actions/checkout@v3