summaryrefslogtreecommitdiff
path: root/std/fs/ensure_link_test.ts
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2021-02-02 19:05:46 +0800
committerGitHub <noreply@github.com>2021-02-02 12:05:46 +0100
commit6abf126c2a7a451cded8c6b5e6ddf1b69c84055d (patch)
treefd94c013a19fcb38954844085821ec1601c20e18 /std/fs/ensure_link_test.ts
parenta2b5d44f1aa9d64f448a2a3cc2001272e2f60b98 (diff)
chore: remove std directory (#9361)
This removes the std folder from the tree. Various parts of the tests are pretty tightly dependent on std (47 direct imports and 75 indirect imports, not counting the cli tests that use them as fixtures) so I've added std as a submodule for now.
Diffstat (limited to 'std/fs/ensure_link_test.ts')
-rw-r--r--std/fs/ensure_link_test.ts172
1 files changed, 0 insertions, 172 deletions
diff --git a/std/fs/ensure_link_test.ts b/std/fs/ensure_link_test.ts
deleted file mode 100644
index d45b058ca..000000000
--- a/std/fs/ensure_link_test.ts
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-// TODO(axetroy): Add test for Windows once symlink is implemented for Windows.
-import {
- assertEquals,
- assertThrows,
- assertThrowsAsync,
-} from "../testing/asserts.ts";
-import * as path from "../path/mod.ts";
-import { ensureLink, ensureLinkSync } from "./ensure_link.ts";
-
-const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
-const testdataDir = path.resolve(moduleDir, "testdata");
-
-Deno.test("ensureLinkIfItNotExist", async function (): Promise<void> {
- const srcDir = path.join(testdataDir, "ensure_link_1");
- const destDir = path.join(testdataDir, "ensure_link_1_2");
- const testFile = path.join(srcDir, "test.txt");
- const linkFile = path.join(destDir, "link.txt");
-
- await assertThrowsAsync(
- async (): Promise<void> => {
- await ensureLink(testFile, linkFile);
- },
- );
-
- await Deno.remove(destDir, { recursive: true });
-});
-
-Deno.test("ensureLinkSyncIfItNotExist", function (): void {
- const testDir = path.join(testdataDir, "ensure_link_2");
- const testFile = path.join(testDir, "test.txt");
- const linkFile = path.join(testDir, "link.txt");
-
- assertThrows((): void => {
- ensureLinkSync(testFile, linkFile);
- });
-
- Deno.removeSync(testDir, { recursive: true });
-});
-
-Deno.test("ensureLinkIfItExist", async function (): Promise<void> {
- const testDir = path.join(testdataDir, "ensure_link_3");
- const testFile = path.join(testDir, "test.txt");
- const linkFile = path.join(testDir, "link.txt");
-
- await Deno.mkdir(testDir, { recursive: true });
- await Deno.writeFile(testFile, new Uint8Array());
-
- await ensureLink(testFile, linkFile);
-
- const srcStat = await Deno.lstat(testFile);
- const linkStat = await Deno.lstat(linkFile);
-
- assertEquals(srcStat.isFile, true);
- assertEquals(linkStat.isFile, true);
-
- // har link success. try to change one of them. they should be change both.
-
- // let's change origin file.
- await Deno.writeFile(testFile, new TextEncoder().encode("123"));
-
- const testFileContent1 = new TextDecoder().decode(
- await Deno.readFile(testFile),
- );
- const linkFileContent1 = new TextDecoder().decode(
- await Deno.readFile(testFile),
- );
-
- assertEquals(testFileContent1, "123");
- assertEquals(testFileContent1, linkFileContent1);
-
- // let's change link file.
- await Deno.writeFile(testFile, new TextEncoder().encode("abc"));
-
- const testFileContent2 = new TextDecoder().decode(
- await Deno.readFile(testFile),
- );
- const linkFileContent2 = new TextDecoder().decode(
- await Deno.readFile(testFile),
- );
-
- assertEquals(testFileContent2, "abc");
- assertEquals(testFileContent2, linkFileContent2);
-
- await Deno.remove(testDir, { recursive: true });
-});
-
-Deno.test("ensureLinkSyncIfItExist", function (): void {
- const testDir = path.join(testdataDir, "ensure_link_4");
- const testFile = path.join(testDir, "test.txt");
- const linkFile = path.join(testDir, "link.txt");
-
- Deno.mkdirSync(testDir, { recursive: true });
- Deno.writeFileSync(testFile, new Uint8Array());
-
- ensureLinkSync(testFile, linkFile);
-
- const srcStat = Deno.lstatSync(testFile);
-
- const linkStat = Deno.lstatSync(linkFile);
-
- assertEquals(srcStat.isFile, true);
- assertEquals(linkStat.isFile, true);
-
- // har link success. try to change one of them. they should be change both.
-
- // let's change origin file.
- Deno.writeFileSync(testFile, new TextEncoder().encode("123"));
-
- const testFileContent1 = new TextDecoder().decode(
- Deno.readFileSync(testFile),
- );
- const linkFileContent1 = new TextDecoder().decode(
- Deno.readFileSync(testFile),
- );
-
- assertEquals(testFileContent1, "123");
- assertEquals(testFileContent1, linkFileContent1);
-
- // let's change link file.
- Deno.writeFileSync(testFile, new TextEncoder().encode("abc"));
-
- const testFileContent2 = new TextDecoder().decode(
- Deno.readFileSync(testFile),
- );
- const linkFileContent2 = new TextDecoder().decode(
- Deno.readFileSync(testFile),
- );
-
- assertEquals(testFileContent2, "abc");
- assertEquals(testFileContent2, linkFileContent2);
-
- Deno.removeSync(testDir, { recursive: true });
-});
-
-Deno.test("ensureLinkDirectoryIfItExist", async function (): Promise<void> {
- const testDir = path.join(testdataDir, "ensure_link_origin_3");
- const linkDir = path.join(testdataDir, "ensure_link_link_3");
- const testFile = path.join(testDir, "test.txt");
-
- await Deno.mkdir(testDir, { recursive: true });
- await Deno.writeFile(testFile, new Uint8Array());
-
- await assertThrowsAsync(
- async (): Promise<void> => {
- await ensureLink(testDir, linkDir);
- },
- // "Operation not permitted (os error 1)" // throw an local matching test
- // "Access is denied. (os error 5)" // throw in CI
- );
-
- Deno.removeSync(testDir, { recursive: true });
-});
-
-Deno.test("ensureLinkSyncDirectoryIfItExist", function (): void {
- const testDir = path.join(testdataDir, "ensure_link_origin_3");
- const linkDir = path.join(testdataDir, "ensure_link_link_3");
- const testFile = path.join(testDir, "test.txt");
-
- Deno.mkdirSync(testDir, { recursive: true });
- Deno.writeFileSync(testFile, new Uint8Array());
-
- assertThrows(
- (): void => {
- ensureLinkSync(testDir, linkDir);
- },
- // "Operation not permitted (os error 1)" // throw an local matching test
- // "Access is denied. (os error 5)" // throw in CI
- );
-
- Deno.removeSync(testDir, { recursive: true });
-});