From 6471d4cfabf27c0f5e7b340568aa88712d270541 Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Sun, 15 Mar 2020 12:03:25 +0000 Subject: [PATCH] refactor(std): Uncomment disabled tests, use skip option (#4378) --- std/encoding/csv_test.ts | 259 ++++++++++++++++--------------- std/examples/catj.ts | 44 +++--- std/examples/chat/server_test.ts | 40 +++-- std/examples/tests/xeval_test.ts | 1 - std/fs/walk_test.ts | 17 +- std/http/server_test.ts | 10 +- std/node/_fs/_fs_chmod_test.ts | 85 +++++----- std/node/_fs/_fs_chown_test.ts | 86 +++++----- std/node/fs_test.ts | 39 +++-- std/textproto/reader_test.ts | 16 +- 10 files changed, 332 insertions(+), 265 deletions(-) diff --git a/std/encoding/csv_test.ts b/std/encoding/csv_test.ts index efea353e16354..2862d57e3242d 100644 --- a/std/encoding/csv_test.ts +++ b/std/encoding/csv_test.ts @@ -29,21 +29,22 @@ const testCases = [ Input: "a,b\rc,d\r\n", Output: [["a", "b\rc", "d"]] }, - // { - // Name: "RFC4180test", - // Input: `#field1,field2,field3 - // "aaa","bbb","ccc" - // "a,a","bbb","ccc" - // zzz,yyy,xxx`, - // UseFieldsPerRecord: true, - // FieldsPerRecord: 0, - // Output: [ - // ["#field1", "field2", "field3"], - // ["aaa", "bbb", "ccc"], - // ["a,a", `bbb`, "ccc"], - // ["zzz", "yyy", "xxx"] - // ] - // }, + { + Name: "RFC4180test", + Input: `#field1,field2,field3 +"aaa","bbb","ccc" +"a,a","bbb","ccc" +zzz,yyy,xxx`, + UseFieldsPerRecord: true, + FieldsPerRecord: 0, + Output: [ + ["#field1", "field2", "field3"], + ["aaa", "bbb", "ccc"], + ["a,a", `bbb`, "ccc"], + ["zzz", "yyy", "xxx"] + ], + skip: true + }, { Name: "NoEOLTest", Input: "a,b,c", @@ -55,14 +56,15 @@ const testCases = [ Output: [["a", "b", "c"]], Comma: ";" }, - // { - // Name: "MultiLine", - // Input: `"two - // line","one line","three - // line - // field"`, - // Output: [["two\nline"], ["one line"], ["three\nline\nfield"]] - // }, + { + Name: "MultiLine", + Input: `"two +line","one line","three +line +field"`, + Output: [["two\nline"], ["one line"], ["three\nline\nfield"]], + skip: true + }, { Name: "BlankLine", Input: "a,b,c\n\nd,e,f\n\n", @@ -256,54 +258,62 @@ x,,, ], ReuseRecord: true }, - // { - // Name: "StartLine1", // Issue 19019 - // Input: 'a,"b\nc"d,e', - // Error: true - // // Error: &ParseError{StartLine: 1, Line: 2, Column: 1, Err: ErrQuote}, - // }, - // { - // Name: "StartLine2", - // Input: 'a,b\n"d\n\n,e', - // Error: true - // // Error: &ParseError{StartLine: 2, Line: 5, Column: 0, Err: ErrQuote}, - // }, - // { - // Name: "CRLFInQuotedField", // Issue 21201 - // Input: 'A,"Hello\r\nHi",B\r\n', - // Output: [["A", "Hello\nHi", "B"]] - // }, + { + Name: "StartLine1", // Issue 19019 + Input: 'a,"b\nc"d,e', + Error: true, + // Error: &ParseError{StartLine: 1, Line: 2, Column: 1, Err: ErrQuote}, + skip: true + }, + { + Name: "StartLine2", + Input: 'a,b\n"d\n\n,e', + Error: true, + // Error: &ParseError{StartLine: 2, Line: 5, Column: 0, Err: ErrQuote}, + skip: true + }, + { + Name: "CRLFInQuotedField", // Issue 21201 + Input: 'A,"Hello\r\nHi",B\r\n', + Output: [["A", "Hello\nHi", "B"]], + skip: true + }, { Name: "BinaryBlobField", // Issue 19410 Input: "x09\x41\xb4\x1c,aktau", Output: [["x09A\xb4\x1c", "aktau"]] }, - // { - // Name: "TrailingCR", - // Input: "field1,field2\r", - // Output: [["field1", "field2"]] - // }, - // { - // Name: "QuotedTrailingCR", - // Input: '"field"\r', - // Output: [['"field"']] - // }, - // { - // Name: "QuotedTrailingCRCR", - // Input: '"field"\r\r', - // Error: true, - // // Error: &ParseError{StartLine: 1, Line: 1, Column: 6, Err: ErrQuote}, - // }, - // { - // Name: "FieldCR", - // Input: "field\rfield\r", - // Output: [["field\rfield"]] - // }, - // { - // Name: "FieldCRCR", - // Input: "field\r\rfield\r\r", - // Output: [["field\r\rfield\r"]] - // }, + { + Name: "TrailingCR", + Input: "field1,field2\r", + Output: [["field1", "field2"]], + skip: true + }, + { + Name: "QuotedTrailingCR", + Input: '"field"\r', + Output: [['"field"']], + skip: true + }, + { + Name: "QuotedTrailingCRCR", + Input: '"field"\r\r', + Error: true, + // Error: &ParseError{StartLine: 1, Line: 1, Column: 6, Err: ErrQuote}, + skip: true + }, + { + Name: "FieldCR", + Input: "field\rfield\r", + Output: [["field\rfield"]], + skip: true + }, + { + Name: "FieldCRCR", + Input: "field\r\rfield\r\r", + Output: [["field\r\rfield\r"]], + skip: true + }, { Name: "FieldCRCRLF", Input: "field\r\r\nfield\r\r\n", @@ -314,20 +324,22 @@ x,,, Input: "field\r\r\n\rfield\r\r\n\r", Output: [["field\r"], ["\rfield\r"]] }, - // { - // Name: "FieldCRCRLFCRCR", - // Input: "field\r\r\n\r\rfield\r\r\n\r\r", - // Output: [["field\r"], ["\r\rfield\r"], ["\r"]] - // }, - // { - // Name: "MultiFieldCRCRLFCRCR", - // Input: "field1,field2\r\r\n\r\rfield1,field2\r\r\n\r\r,", - // Output: [ - // ["field1", "field2\r"], - // ["\r\rfield1", "field2\r"], - // ["\r\r", ""] - // ] - // }, + { + Name: "FieldCRCRLFCRCR", + Input: "field\r\r\n\r\rfield\r\r\n\r\r", + Output: [["field\r"], ["\r\rfield\r"], ["\r"]], + skip: true + }, + { + Name: "MultiFieldCRCRLFCRCR", + Input: "field1,field2\r\r\n\r\rfield1,field2\r\r\n\r\r,", + Output: [ + ["field1", "field2\r"], + ["\r\rfield1", "field2\r"], + ["\r\r", ""] + ], + skip: true + }, { Name: "NonASCIICommaAndComment", Input: "a£b,c£ \td,e\n€ comment\n", @@ -358,30 +370,30 @@ x,,, Output: [["λ"], ["λ"], ["λ"]], Comment: "θ" }, - // { - // Name: "QuotedFieldMultipleLF", - // Input: '"\n\n\n\n"', - // Output: [["\n\n\n\n"]] - // }, - // { - // Name: "MultipleCRLF", - // Input: "\r\n\r\n\r\n\r\n" - // }, + { + Name: "QuotedFieldMultipleLF", + Input: '"\n\n\n\n"', + Output: [["\n\n\n\n"]], + skip: true + }, + { + Name: "MultipleCRLF", + Input: "\r\n\r\n\r\n\r\n", + skip: true + }, /** * The implementation may read each line in several chunks if * it doesn't fit entirely. * in the read buffer, so we should test the code to handle that condition. */ - // { - // Name: "HugeLines", - // Input: - // strings.Repeat("#ignore\n", 10000) + - // strings.Repeat("@", 5000) + - // "," + - // strings.Repeat("*", 5000), - // Output: [[strings.Repeat("@", 5000), strings.Repeat("*", 5000)]], - // Comment: "#" - // }, + { + Name: "HugeLines", + Input: + "#ignore\n".repeat(10000) + "@".repeat(5000) + "," + "*".repeat(5000), + Output: [["@".repeat(5000), "*".repeat(5000)]], + Comment: "#", + skip: true + }, { Name: "QuoteWithTrailingCRLF", Input: '"foo"bar"\r\n', @@ -394,28 +406,32 @@ x,,, Output: [[`foo"bar`]], LazyQuotes: true }, - // { - // Name: "DoubleQuoteWithTrailingCRLF", - // Input: '"foo""bar"\r\n', - // Output: [[`foo"bar`]] - // }, - // { - // Name: "EvenQuotes", - // Input: `""""""""`, - // Output: [[`"""`]] - // }, - // { - // Name: "OddQuotes", - // Input: `"""""""`, - // Error: true - // // Error:" &ParseError{StartLine: 1, Line: 1, Column: 7, Err: ErrQuote}", - // }, - // { - // Name: "LazyOddQuotes", - // Input: `"""""""`, - // Output: [[`"""`]], - // LazyQuotes: true - // }, + { + Name: "DoubleQuoteWithTrailingCRLF", + Input: '"foo""bar"\r\n', + Output: [[`foo"bar`]], + skip: true + }, + { + Name: "EvenQuotes", + Input: `""""""""`, + Output: [[`"""`]], + skip: true + }, + { + Name: "OddQuotes", + Input: `"""""""`, + Error: true, + // Error:" &ParseError{StartLine: 1, Line: 1, Column: 7, Err: ErrQuote}", + skip: true + }, + { + Name: "LazyOddQuotes", + Input: `"""""""`, + Output: [[`"""`]], + LazyQuotes: true, + skip: true + }, { Name: "BadComma1", Comma: "\n", @@ -450,6 +466,7 @@ x,,, ]; for (const t of testCases) { Deno.test({ + skip: !!t.skip, name: `[CSV] ${t.Name}`, async fn(): Promise { let comma = ","; diff --git a/std/examples/catj.ts b/std/examples/catj.ts index 4329d27b131f6..3ef14ce0b1dcc 100644 --- a/std/examples/catj.ts +++ b/std/examples/catj.ts @@ -81,28 +81,30 @@ function print(data: any): void { } } -const parsedArgs = parse(Deno.args); - -if (parsedArgs.h || parsedArgs.help || parsedArgs._.length === 0) { - console.log("Usage: catj [-h|--help] [file...]"); - console.log(); - console.log("Examples:"); - console.log(); - console.log("// print file:\n catj file.json"); - console.log(); - console.log("// print multiple files:\n catj file1.json file2.json"); - console.log(); - console.log("// print from stdin:\n cat file.json | catj -"); -} +if (import.meta.main) { + const parsedArgs = parse(Deno.args); + + if (parsedArgs.h || parsedArgs.help || parsedArgs._.length === 0) { + console.log("Usage: catj [-h|--help] [file...]"); + console.log(); + console.log("Examples:"); + console.log(); + console.log("// print file:\n catj file.json"); + console.log(); + console.log("// print multiple files:\n catj file1.json file2.json"); + console.log(); + console.log("// print from stdin:\n cat file.json | catj -"); + } -if (parsedArgs._[0] === "-") { - const contents = await Deno.readAll(Deno.stdin); - const json = JSON.parse(decoder.decode(contents)); - print(json); -} else { - for (const fileName of parsedArgs._) { - const fileContents = await Deno.readFile(fileName); - const json = JSON.parse(decoder.decode(fileContents)); + if (parsedArgs._[0] === "-") { + const contents = await Deno.readAll(Deno.stdin); + const json = JSON.parse(decoder.decode(contents)); print(json); + } else { + for (const fileName of parsedArgs._) { + const fileContents = await Deno.readFile(fileName.toString()); + const json = JSON.parse(decoder.decode(fileContents)); + print(json); + } } } diff --git a/std/examples/chat/server_test.ts b/std/examples/chat/server_test.ts index 3e2a62ee0635b..c63453a19032f 100644 --- a/std/examples/chat/server_test.ts +++ b/std/examples/chat/server_test.ts @@ -24,29 +24,47 @@ async function startServer(): Promise { const { test, build } = Deno; // TODO: https://github.com/denoland/deno/issues/4108 -if (build.os !== "win") { - test("beforeAll", async () => { +const skip = build.os == "win"; + +test({ + skip, + name: "beforeAll", + async fn() { await startServer(); - }); + } +}); - test("GET / should serve html", async () => { +test({ + skip, + name: "GET / should serve html", + async fn() { const resp = await fetch("http://127.0.0.1:8080/"); assertEquals(resp.status, 200); assertEquals(resp.headers.get("content-type"), "text/html"); const html = await resp.body.text(); assert(html.includes("ws chat example"), "body is ok"); - }); + } +}); + +let ws: WebSocket | undefined; - let ws: WebSocket | undefined; - test("GET /ws should upgrade conn to ws", async () => { +test({ + skip, + name: "GET /ws should upgrade conn to ws", + async fn() { ws = await connectWebSocket("http://127.0.0.1:8080/ws"); const it = ws.receive(); assertEquals((await it.next()).value, "Connected: [1]"); ws.send("Hello"); assertEquals((await it.next()).value, "[1]: Hello"); - }); - test("afterAll", () => { + } +}); + +test({ + skip, + name: "afterAll", + fn() { server?.close(); ws?.conn.close(); - }); -} + } +}); diff --git a/std/examples/tests/xeval_test.ts b/std/examples/tests/xeval_test.ts index 870a00acff610..128b6e3da04d1 100644 --- a/std/examples/tests/xeval_test.ts +++ b/std/examples/tests/xeval_test.ts @@ -23,7 +23,6 @@ Deno.test(async function xevalDelimiter(): Promise { assertEquals(chunks, ["!MAD", "ADAM!"]); }); -// https://github.com/denoland/deno/issues/2861 const xevalPath = "examples/xeval.ts"; Deno.test(async function xevalCliReplvar(): Promise { diff --git a/std/fs/walk_test.ts b/std/fs/walk_test.ts index caf806262c980..91cfd57c89df1 100644 --- a/std/fs/walk_test.ts +++ b/std/fs/walk_test.ts @@ -1,11 +1,14 @@ -const { cwd, chdir, makeTempDir, mkdir, open } = Deno; +const { cwd, chdir, makeTempDir, mkdir, open, symlink } = Deno; const { remove } = Deno; import { walk, walkSync, WalkOptions, WalkInfo } from "./walk.ts"; -import { assertEquals, assertThrowsAsync } from "../testing/asserts.ts"; +import { assert, assertEquals, assertThrowsAsync } from "../testing/asserts.ts"; + +const isWindows = Deno.build.os == "win"; export async function testWalk( setup: (arg0: string) => void | Promise, - t: Deno.TestFunction + t: Deno.TestFunction, + skip = false ): Promise { const name = t.name; async function fn(): Promise { @@ -20,7 +23,7 @@ export async function testWalk( remove(d, { recursive: true }); } } - Deno.test({ name, fn }); + Deno.test({ skip, name: `[walk] ${name}`, fn }); } function normalize({ filename }: WalkInfo): string { @@ -239,7 +242,7 @@ testWalk( } ); -/* TODO(ry) Re-enable followSymlinks +// TODO(ry) Re-enable followSymlinks testWalk( async (d: string): Promise => { await mkdir(d + "/a"); @@ -268,6 +271,6 @@ testWalk( const arr = await walkArray("a", { followSymlinks: true }); assertEquals(arr.length, 3); assert(arr.some((f): boolean => f.endsWith("/b/z"))); - } + }, + true ); -*/ diff --git a/std/http/server_test.ts b/std/http/server_test.ts index fec48792500da..571c7332fad8c 100644 --- a/std/http/server_test.ts +++ b/std/http/server_test.ts @@ -445,8 +445,10 @@ test("close server while iterating", async (): Promise => { // receive a RST and thus trigger an error during response for us to test. // We need to find a way to similarly trigger an error on Windows so that // we can test if connection is closed. -if (Deno.build.os !== "win") { - test("respond error handling", async (): Promise => { +test({ + skip: Deno.build.os == "win", + name: "respond error handling", + async fn(): Promise { const connClosedPromise = deferred(); const serverRoutine = async (): Promise => { let reqCount = 0; @@ -498,5 +500,5 @@ if (Deno.build.os !== "win") { // conn on server side enters CLOSE_WAIT state. connClosedPromise.resolve(); await p; - }); -} + } +}); diff --git a/std/node/_fs/_fs_chmod_test.ts b/std/node/_fs/_fs_chmod_test.ts index 9be6669f29608..42c29cdc83466 100644 --- a/std/node/_fs/_fs_chmod_test.ts +++ b/std/node/_fs/_fs_chmod_test.ts @@ -3,47 +3,6 @@ const { test } = Deno; import { fail, assert } from "../../testing/asserts.ts"; import { chmod, chmodSync } from "./_fs_chmod.ts"; -if (Deno.build.os !== "win") { - test({ - name: "ASYNC: Permissions are changed (non-Windows)", - async fn() { - const tempFile: string = await Deno.makeTempFile(); - const originalFileMode: number | null = (await Deno.lstat(tempFile)).mode; - await new Promise((resolve, reject) => { - chmod(tempFile, 0o777, err => { - if (err) reject(err); - else resolve(); - }); - }) - .then(() => { - const newFileMode: number | null = Deno.lstatSync(tempFile).mode; - assert(newFileMode && originalFileMode); - assert(newFileMode === 33279 && newFileMode > originalFileMode); - }) - .catch(() => { - fail(); - }) - .finally(() => { - Deno.removeSync(tempFile); - }); - } - }); - - test({ - name: "SYNC: Permissions are changed (non-Windows)", - fn() { - const tempFile: string = Deno.makeTempFileSync(); - const originalFileMode: number | null = Deno.lstatSync(tempFile).mode; - chmodSync(tempFile, "777"); - - const newFileMode: number | null = Deno.lstatSync(tempFile).mode; - assert(newFileMode && originalFileMode); - assert(newFileMode === 33279 && newFileMode > originalFileMode); - Deno.removeSync(tempFile); - } - }); -} - test({ name: "ASYNC: Error passed in callback function when bad mode passed in", async fn() { @@ -61,6 +20,7 @@ test({ }); } }); + test({ name: "SYNC: Error thrown when bad mode passed in", fn() { @@ -73,3 +33,46 @@ test({ assert(caughtError); } }); + +const skip = Deno.build.os == "win"; + +test({ + skip, + name: "ASYNC: Permissions are changed (non-Windows)", + async fn() { + const tempFile: string = await Deno.makeTempFile(); + const originalFileMode: number | null = (await Deno.lstat(tempFile)).mode; + await new Promise((resolve, reject) => { + chmod(tempFile, 0o777, err => { + if (err) reject(err); + else resolve(); + }); + }) + .then(() => { + const newFileMode: number | null = Deno.lstatSync(tempFile).mode; + assert(newFileMode && originalFileMode); + assert(newFileMode === 33279 && newFileMode > originalFileMode); + }) + .catch(() => { + fail(); + }) + .finally(() => { + Deno.removeSync(tempFile); + }); + } +}); + +test({ + skip, + name: "SYNC: Permissions are changed (non-Windows)", + fn() { + const tempFile: string = Deno.makeTempFileSync(); + const originalFileMode: number | null = Deno.lstatSync(tempFile).mode; + chmodSync(tempFile, "777"); + + const newFileMode: number | null = Deno.lstatSync(tempFile).mode; + assert(newFileMode && originalFileMode); + assert(newFileMode === 33279 && newFileMode > originalFileMode); + Deno.removeSync(tempFile); + } +}); diff --git a/std/node/_fs/_fs_chown_test.ts b/std/node/_fs/_fs_chown_test.ts index 51a463d887847..f7b4a8cec7d1c 100644 --- a/std/node/_fs/_fs_chown_test.ts +++ b/std/node/_fs/_fs_chown_test.ts @@ -3,48 +3,50 @@ const { test } = Deno; import { fail, assertEquals } from "../../testing/asserts.ts"; import { chown, chownSync } from "./_fs_chown.ts"; -if (Deno.build.os !== "win") { - //chown is difficult to test. Best we can do is set the existing user id/group id again - test({ - name: "ASYNC: setting existing uid/gid works as expected (non-Windows)", - async fn() { - const tempFile: string = await Deno.makeTempFile(); - const originalUserId: number | null = (await Deno.lstat(tempFile)).uid; - const originalGroupId: number | null = (await Deno.lstat(tempFile)).gid; - await new Promise((resolve, reject) => { - chown(tempFile, originalUserId!, originalGroupId!, err => { - if (err) reject(err); - else resolve(); - }); +//chown is difficult to test. Best we can do is set the existing user id/group id again +const skip = Deno.build.os == "win"; + +test({ + skip, + name: "ASYNC: setting existing uid/gid works as expected (non-Windows)", + async fn() { + const tempFile: string = await Deno.makeTempFile(); + const originalUserId: number | null = (await Deno.lstat(tempFile)).uid; + const originalGroupId: number | null = (await Deno.lstat(tempFile)).gid; + await new Promise((resolve, reject) => { + chown(tempFile, originalUserId!, originalGroupId!, err => { + if (err) reject(err); + else resolve(); + }); + }) + .then(() => { + const newUserId: number | null = Deno.lstatSync(tempFile).uid; + const newGroupId: number | null = Deno.lstatSync(tempFile).gid; + assertEquals(newUserId, originalUserId); + assertEquals(newGroupId, originalGroupId); + }) + .catch(() => { + fail(); }) - .then(() => { - const newUserId: number | null = Deno.lstatSync(tempFile).uid; - const newGroupId: number | null = Deno.lstatSync(tempFile).gid; - assertEquals(newUserId, originalUserId); - assertEquals(newGroupId, originalGroupId); - }) - .catch(() => { - fail(); - }) - .finally(() => { - Deno.removeSync(tempFile); - }); - } - }); + .finally(() => { + Deno.removeSync(tempFile); + }); + } +}); - test({ - name: "SYNC: setting existing uid/gid works as expected (non-Windows)", - fn() { - const tempFile: string = Deno.makeTempFileSync(); - const originalUserId: number | null = Deno.lstatSync(tempFile).uid; - const originalGroupId: number | null = Deno.lstatSync(tempFile).gid; - chownSync(tempFile, originalUserId!, originalGroupId!); +test({ + skip, + name: "SYNC: setting existing uid/gid works as expected (non-Windows)", + fn() { + const tempFile: string = Deno.makeTempFileSync(); + const originalUserId: number | null = Deno.lstatSync(tempFile).uid; + const originalGroupId: number | null = Deno.lstatSync(tempFile).gid; + chownSync(tempFile, originalUserId!, originalGroupId!); - const newUserId: number | null = Deno.lstatSync(tempFile).uid; - const newGroupId: number | null = Deno.lstatSync(tempFile).gid; - assertEquals(newUserId, originalUserId); - assertEquals(newGroupId, originalGroupId); - Deno.removeSync(tempFile); - } - }); -} + const newUserId: number | null = Deno.lstatSync(tempFile).uid; + const newGroupId: number | null = Deno.lstatSync(tempFile).gid; + assertEquals(newUserId, originalUserId); + assertEquals(newGroupId, originalGroupId); + Deno.removeSync(tempFile); + } +}); diff --git a/std/node/fs_test.ts b/std/node/fs_test.ts index 9753d95207060..96d0f6597acb2 100755 --- a/std/node/fs_test.ts +++ b/std/node/fs_test.ts @@ -50,9 +50,16 @@ test(function readFileEncodeUtf8Success() { }); // Just for now, until we implement symlink for Windows. -if (Deno.build.os !== "win") { +const skip = Deno.build.os == "win"; + +if (!skip) { Deno.symlinkSync(oldname, newname); - test(async function readlinkSuccess() { +} + +test({ + skip, + name: "readlinkSuccess", + async fn() { const data = await new Promise((res, rej) => { readlink(newname, (err, data) => { if (err) { @@ -64,9 +71,13 @@ if (Deno.build.os !== "win") { assertEquals(typeof data, "string"); assertEquals(data as string, oldname); - }); + } +}); - test(async function readlinkEncodeBufferSuccess() { +test({ + skip, + name: "readlinkEncodeBufferSuccess", + async fn() { const data = await new Promise((res, rej) => { readlink(newname, { encoding: "buffer" }, (err, data) => { if (err) { @@ -78,17 +89,25 @@ if (Deno.build.os !== "win") { assert(data instanceof Uint8Array); assertEquals(new TextDecoder().decode(data as Uint8Array), oldname); - }); + } +}); - test(function readlinkSyncSuccess() { +test({ + skip, + name: "readlinkSyncSuccess", + fn() { const data = readlinkSync(newname); assertEquals(typeof data, "string"); assertEquals(data as string, oldname); - }); + } +}); - test(function readlinkEncodeBufferSuccess() { +test({ + skip, + name: "readlinkEncodeBufferSuccess", + fn() { const data = readlinkSync(newname, { encoding: "buffer" }); assert(data instanceof Uint8Array); assertEquals(new TextDecoder().decode(data as Uint8Array), oldname); - }); -} + } +}); diff --git a/std/textproto/reader_test.ts b/std/textproto/reader_test.ts index 9eb822ecb3692..2ceeb7eefd8b6 100644 --- a/std/textproto/reader_test.ts +++ b/std/textproto/reader_test.ts @@ -17,13 +17,15 @@ const { test } = Deno; function reader(s: string): TextProtoReader { return new TextProtoReader(new BufReader(stringsReader(s))); } -// test({ -// name: "[textproto] Reader : DotBytes", -// async fn(): Promise { -// const input = -// "dotlines\r\n.foo\r\n..bar\n...baz\nquux\r\n\r\n.\r\nanot.her\r\n"; -// } -// }); + +test({ + skip: true, + name: "[textproto] Reader : DotBytes", + async fn(): Promise { + const _input = + "dotlines\r\n.foo\r\n..bar\n...baz\nquux\r\n\r\n.\r\nanot.her\r\n"; + } +}); test(async function textprotoReadEmpty(): Promise { const r = reader("");