Popular
Latest
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174import inputLoop from './index.ts';import { assertEquals } from "https://deno.land/std@0.205.0/testing/asserts.ts";
Deno.test("Initialize with no args", () => { const loop = new inputLoop(); assertEquals(loop.done, false);});
Deno.test("Should not be done", () => { const loop = new inputLoop({ silent: true, }); assertEquals(loop.done, false);});
Deno.test("Should be marked as done", () => { const loop = new inputLoop({ silent: true, }); loop.close(); assertEquals(loop.done, true);});
Deno.test("Should choose an answer (number)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, 2); assertEquals(result, [false, false, true]);});
Deno.test("Should choose an answer (number) (privateInput)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, true, 2); assertEquals(result, [false, false, true]);});
Deno.test("Should choose an answer (number) (privateInput explicitly false)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, false, 2); assertEquals(result, [false, false, true]);});
Deno.test("Should choose an answer (string)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, '2'); assertEquals(result, [false, false, true]);});
// Added to test issue https://github.com/keegandonley/input-deno/issues/3Deno.test("Should choose an answer (string | CRLF) ", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, '2\r\n'); assertEquals(result, [false, false, true]);});
Deno.test("Should not choose an answer (number)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, 3); assertEquals(result, [false, false, false]);});
Deno.test("Should not choose an answer (string)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, '3'); assertEquals(result, [false, false, false]);});
Deno.test("Should run repeat on choose success (number)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, 2); assertEquals(result, [false, false, true]); const result2 = await loop.repeat(2); assertEquals(result2, [false, false, true]);});
Deno.test("Should run repeat on choose success (string)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, '2'); assertEquals(result, [false, false, true]); const result2 = await loop.repeat('2'); assertEquals(result2, [false, false, true]);});
Deno.test("Should run repeat on choose fail (number)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, 3); assertEquals(result, [false, false, false]); const result2 = await loop.repeat(3); assertEquals(result2, [false, false, false]);});
Deno.test("Should run repeat on choose fail (string)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], false, undefined, "3"); assertEquals(result, [false, false, false]); const result2 = await loop.repeat("3"); assertEquals(result2, [false, false, false]);});
Deno.test("Should answer a question (number)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.question("Please answer the question", true, undefined, 2); assertEquals(result, '2');});
Deno.test("Should answer a question (string)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.question("Please answer the question", true, undefined, "Hello!"); assertEquals(result, "Hello!");});
Deno.test("Should answer a question (string | no newline)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.question("Please answer the question", false, undefined, "Hello!"); assertEquals(result, "Hello!");});
Deno.test("Should run repeat on question (string)", async () => { const loop = new inputLoop({ silent: true, }); const result = await loop.question("Please answer the question", true, undefined, "Hello!"); assertEquals(result, "Hello!"); const result2 = await loop.repeat("Hello Again!"); assertEquals(result2, 'Hello Again!')});
Deno.test("Should close automatically (string)", async () => { const loop = new inputLoop({ silent: true, }); assertEquals(loop.done, false); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], true, undefined, "2"); assertEquals(result, [false, false, true]); assertEquals(loop.done, true);});
Deno.test("Should close automatically (number)", async () => { const loop = new inputLoop({ silent: true, }); assertEquals(loop.done, false); const result = await loop.choose(["Option 1", "Option 2", "Option 3"], true, undefined, 2); assertEquals(result, [false, false, true]); assertEquals(loop.done, true);});