From a34ef48180e288289c5771d27bb0d2fc1be49e0d Mon Sep 17 00:00:00 2001 From: Darin Lo Date: Fri, 8 May 2020 11:49:41 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20Bulid:=20release=200.2.3-beta8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/__tests__/test.ts | 33 +++++++++++++++++++++++++++++++++ src/googletrans.ts | 13 +++++++------ 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index d16dc58..aeaefbe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "googletrans", - "version": "0.2.3-beta.7", + "version": "0.2.3-beta.8", "description": "Free and Unlimited Google translate API for node.js", "files": [ "lib/**/*" diff --git a/src/__tests__/test.ts b/src/__tests__/test.ts index 2862757..f8e36d1 100644 --- a/src/__tests__/test.ts +++ b/src/__tests__/test.ts @@ -12,6 +12,7 @@ describe("translate Methods Test", () => { return googletrans("vue").then((res) => { expect(res.src).toBe("fr"); expect(res.hasCorrectedLang).toBe(false); + expect(res.hasCorrectedText).toBe(false); }); }); @@ -29,6 +30,7 @@ describe("translate Methods Test", () => { .then((res) => { expect(res.hasCorrectedLang).toBe(true); expect(res.src).toBe("en"); + expect(res.hasCorrectedText).toBe(false); }) .catch((err) => { console.log(err); @@ -39,6 +41,7 @@ describe("translate Methods Test", () => { try { const res = await googletrans("Hero", { to: "zh" }); expect(res.text).toBe("英雄"); + expect(res.hasCorrectedText).toBe(false); } catch (e) { console.log(e); } @@ -50,6 +53,7 @@ describe("translate Methods Test", () => { expect(res.text).toBe("Grün"); expect(res.src).toBe("en"); expect(res.hasCorrectedLang).toBe(true); + expect(res.hasCorrectedText).toBe(false); }) .catch((err) => { expect(err.message).toMatch(/not/); @@ -60,6 +64,7 @@ describe("translate Methods Test", () => { return googletrans("Green", { from: "en", to: "Green" }) .then((res) => { expect(res.text).toBe("Green"); + expect(res.hasCorrectedText).toBe(false); }) .catch((err) => { expect(err.message).toMatch(/not/); @@ -72,6 +77,24 @@ describe("translate Methods Test", () => { expect(res.src).toBe("nl"); }); }); + test("zh-hk", async () => { + try { + const res = await googletrans("media", "zh-hk"); + expect(res.text).toBe("媒體"); + expect(res.hasCorrectedText).toBe(false); + } catch (error) { + console.log(error); + } + }); + test("zh-sg", async () => { + try { + const res = await googletrans("Game console", "zh-sg"); + expect(res.text).toBe("游戏机"); + expect(res.hasCorrectedText).toBe(false); + } catch (error) { + console.log(error); + } + }); test("batch translation through array without empty string.", async () => { try { const res = await googletrans(["blue", "green", "yellow"], "nl"); @@ -198,6 +221,16 @@ describe("getToken method Test", () => { test("get Token by English", () => { expect(getToken("Green")).toBe("701361.821189"); }); + + test("Unicode > 2048", () => { + expect(getToken("⁉")).toBe("631846.1019986"); + }); + + test("2048 > Unicode > 128", () => { + // const a = getToken("ᢈ"); + // console.log(a); + expect(getToken("ᢈ")).toBe("951746.569782"); + }); }); describe("random number method Test", () => { diff --git a/src/googletrans.ts b/src/googletrans.ts index beffd84..937d6a5 100644 --- a/src/googletrans.ts +++ b/src/googletrans.ts @@ -134,8 +134,12 @@ function getResult(res: any): Result { translations: [], raw: [], }; - if (res === null) return result; - if (res.status === 200) result.raw = res.data; + + if (res !== null && res.status === 200) { + result.raw = res.data; + } else { + return result; + } const body = res.data; body[0].forEach((obj: string) => { if (obj[0]) { @@ -161,10 +165,7 @@ function getResult(res: any): Result { str = str.replace(/<\/i><\/b>/g, "]"); result.correctedText = str; - let a = false; - let b = false; - body[7][5] === true ? (a = true) : (b = true); - if (a || b) result.hasCorrectedText = true; + if (body[7][5]) result.hasCorrectedText = true; } if (result.text.indexOf("\n") !== -1) {