mirror of
https://github.com/denoland/deno.git
synced 2024-12-02 17:01:14 -05:00
81 lines
1.5 KiB
TypeScript
81 lines
1.5 KiB
TypeScript
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
|
import { test, runIfMain } from "../testing/mod.ts";
|
|
import { assertEquals } from "../testing/asserts.ts";
|
|
import { parse } from "./ignore.ts";
|
|
|
|
const testCases = [
|
|
{
|
|
input: `# this is a comment
|
|
node_modules
|
|
`,
|
|
output: new Set(["node_modules"])
|
|
},
|
|
{
|
|
input: ` # invalid comment
|
|
`,
|
|
output: new Set([" # invalid comment"])
|
|
},
|
|
{
|
|
input: `
|
|
node_modules
|
|
package.json
|
|
`,
|
|
output: new Set(["node_modules", "package.json"])
|
|
},
|
|
{
|
|
input: `
|
|
node_modules
|
|
package.json
|
|
`,
|
|
output: new Set([" node_modules", " package.json"])
|
|
},
|
|
{
|
|
input: `*.orig
|
|
*.pyc
|
|
*.swp
|
|
|
|
/.idea/
|
|
/.vscode/
|
|
gclient_config.py_entries
|
|
/gh-pages/
|
|
/target/
|
|
|
|
# Files that help ensure VSCode can work but we don't want checked into the
|
|
# repo
|
|
/node_modules
|
|
/tsconfig.json
|
|
|
|
# We use something stronger than lockfiles, we have all NPM modules stored in a
|
|
# git. We do not download from NPM during build.
|
|
# https://github.com/denoland/deno_third_party
|
|
yarn.lock
|
|
# yarn creates this in error.
|
|
tools/node_modules/
|
|
`,
|
|
output: new Set([
|
|
"*.orig",
|
|
"*.pyc",
|
|
"*.swp",
|
|
"/.idea/",
|
|
"/.vscode/",
|
|
"gclient_config.py_entries",
|
|
"/gh-pages/",
|
|
"/target/",
|
|
"/node_modules",
|
|
"/tsconfig.json",
|
|
"yarn.lock",
|
|
"tools/node_modules/"
|
|
])
|
|
}
|
|
];
|
|
|
|
test({
|
|
name: "[encoding.ignore] basic",
|
|
fn(): void {
|
|
for (const { input, output } of testCases) {
|
|
assertEquals(parse(input), output);
|
|
}
|
|
}
|
|
});
|
|
|
|
runIfMain(import.meta);
|