diff --git a/src/__tests__/suggest.test.ts b/src/__tests__/suggest.test.ts index a66c7e2..849561b 100644 --- a/src/__tests__/suggest.test.ts +++ b/src/__tests__/suggest.test.ts @@ -42,3 +42,7 @@ test("Override domains", () => { test("Override domain with old domain", () => { expect(suggestWithOptions("test@gnail.com")).toBe(undefined); }); + +test("Exact domain matched", () => { + expect(suggest("test@mail.numerique.org", { domains: ["mail.numerique.org", "gmail.com"] })).toBe(undefined); +}); diff --git a/src/suggest.ts b/src/suggest.ts index 44c735c..cac568a 100644 --- a/src/suggest.ts +++ b/src/suggest.ts @@ -24,7 +24,8 @@ const findClosestDomain = (domain: string, domains: string[], threshold: number) if (!domain || !domains) { return; } - domains.forEach(currentDomain => { + for (let i = 0; i < domains.length; i++) { + const currentDomain = domains[i]; if (domain === currentDomain) { return domain; } @@ -33,7 +34,7 @@ const findClosestDomain = (domain: string, domains: string[], threshold: number) minDist = dist; closestDomain = currentDomain; } - }); + } if (minDist <= (threshold || topLevelThreshold) && closestDomain !== undefined) { return closestDomain; } else {