From 9cfdc60a23e6418d4780dc3ebd6266248555bb03 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Mon, 16 Sep 2019 21:05:14 -0400 Subject: Move integration tests to //cli/tests/ (#2964) This ensures the deno executable is properly created before running the integration tests. Also allows deno_cli to be used as a lib. Docs are now properly generated: https://docs.rs/deno_cli/0.18.4/deno_cli/ Towards #2933 Prep for #2955 --- cli/tests/subdir/auto_print_hello.ts | 2 ++ cli/tests/subdir/bench_worker.ts | 20 ++++++++++++++++++++ cli/tests/subdir/config.json | 6 ++++++ cli/tests/subdir/evil_remote_import.js | 4 ++++ cli/tests/subdir/form_urlencoded.txt | 1 + cli/tests/subdir/indirect_import_error.js | 1 + cli/tests/subdir/indirect_throws.js | 1 + cli/tests/subdir/mismatch_ext.ts | 1 + cli/tests/subdir/mod1.ts | 17 +++++++++++++++++ cli/tests/subdir/mod2.ts | 1 + cli/tests/subdir/mod3.js | 1 + cli/tests/subdir/mod4.js | 1 + cli/tests/subdir/mod5.mjs | 1 + cli/tests/subdir/mt_application_ecmascript.j2.js | 1 + cli/tests/subdir/mt_application_x_javascript.j4.js | 1 + cli/tests/subdir/mt_application_x_typescript.t4.ts | 1 + cli/tests/subdir/mt_javascript.js | 1 + cli/tests/subdir/mt_text_ecmascript.j3.js | 1 + cli/tests/subdir/mt_text_javascript.j1.js | 1 + cli/tests/subdir/mt_text_typescript.t1.ts | 1 + cli/tests/subdir/mt_video_mp2t.t3.ts | 1 + cli/tests/subdir/mt_video_vdn.t2.ts | 1 + cli/tests/subdir/no_ext | 1 + cli/tests/subdir/print_hello.ts | 3 +++ cli/tests/subdir/redirects/redirect1.js | 1 + cli/tests/subdir/redirects/redirect1.ts | 1 + cli/tests/subdir/redirects/redirect2.js | 1 + cli/tests/subdir/redirects/redirect3.js | 2 ++ cli/tests/subdir/redirects/redirect4.ts | 2 ++ cli/tests/subdir/subdir2/mod2.ts | 9 +++++++++ cli/tests/subdir/test_worker.js | 7 +++++++ cli/tests/subdir/test_worker.ts | 7 +++++++ cli/tests/subdir/throws.js | 5 +++++ cli/tests/subdir/unknown_ext.deno | 1 + 34 files changed, 106 insertions(+) create mode 100644 cli/tests/subdir/auto_print_hello.ts create mode 100644 cli/tests/subdir/bench_worker.ts create mode 100644 cli/tests/subdir/config.json create mode 100644 cli/tests/subdir/evil_remote_import.js create mode 100644 cli/tests/subdir/form_urlencoded.txt create mode 100644 cli/tests/subdir/indirect_import_error.js create mode 100644 cli/tests/subdir/indirect_throws.js create mode 100644 cli/tests/subdir/mismatch_ext.ts create mode 100644 cli/tests/subdir/mod1.ts create mode 100644 cli/tests/subdir/mod2.ts create mode 100644 cli/tests/subdir/mod3.js create mode 100644 cli/tests/subdir/mod4.js create mode 100644 cli/tests/subdir/mod5.mjs create mode 100644 cli/tests/subdir/mt_application_ecmascript.j2.js create mode 100644 cli/tests/subdir/mt_application_x_javascript.j4.js create mode 100644 cli/tests/subdir/mt_application_x_typescript.t4.ts create mode 100644 cli/tests/subdir/mt_javascript.js create mode 100644 cli/tests/subdir/mt_text_ecmascript.j3.js create mode 100644 cli/tests/subdir/mt_text_javascript.j1.js create mode 100644 cli/tests/subdir/mt_text_typescript.t1.ts create mode 100644 cli/tests/subdir/mt_video_mp2t.t3.ts create mode 100644 cli/tests/subdir/mt_video_vdn.t2.ts create mode 100644 cli/tests/subdir/no_ext create mode 100644 cli/tests/subdir/print_hello.ts create mode 100644 cli/tests/subdir/redirects/redirect1.js create mode 100644 cli/tests/subdir/redirects/redirect1.ts create mode 100644 cli/tests/subdir/redirects/redirect2.js create mode 100644 cli/tests/subdir/redirects/redirect3.js create mode 100644 cli/tests/subdir/redirects/redirect4.ts create mode 100644 cli/tests/subdir/subdir2/mod2.ts create mode 100644 cli/tests/subdir/test_worker.js create mode 100644 cli/tests/subdir/test_worker.ts create mode 100644 cli/tests/subdir/throws.js create mode 100644 cli/tests/subdir/unknown_ext.deno (limited to 'cli/tests/subdir') diff --git a/cli/tests/subdir/auto_print_hello.ts b/cli/tests/subdir/auto_print_hello.ts new file mode 100644 index 000000000..5efa72e03 --- /dev/null +++ b/cli/tests/subdir/auto_print_hello.ts @@ -0,0 +1,2 @@ +console.log("hello!"); +export default {}; diff --git a/cli/tests/subdir/bench_worker.ts b/cli/tests/subdir/bench_worker.ts new file mode 100644 index 000000000..094cefb80 --- /dev/null +++ b/cli/tests/subdir/bench_worker.ts @@ -0,0 +1,20 @@ +onmessage = function(e): void { + const { cmdId, action, data } = e.data; + switch (action) { + case 0: // Static response + postMessage({ + cmdId, + data: "HTTP/1.1 200 OK\r\nContent-Length: 12\r\n\r\nHello World\n" + }); + break; + case 1: // Respond with request data + postMessage({ cmdId, data }); + break; + case 2: // Ping + postMessage({ cmdId }); + break; + case 3: // Close + workerClose(); + break; + } +}; diff --git a/cli/tests/subdir/config.json b/cli/tests/subdir/config.json new file mode 100644 index 000000000..01c3b5e79 --- /dev/null +++ b/cli/tests/subdir/config.json @@ -0,0 +1,6 @@ +{ + "foo": { + "bar": true, + "baz": ["qat", 1] + } +} diff --git a/cli/tests/subdir/evil_remote_import.js b/cli/tests/subdir/evil_remote_import.js new file mode 100644 index 000000000..4ff7d1b97 --- /dev/null +++ b/cli/tests/subdir/evil_remote_import.js @@ -0,0 +1,4 @@ +// We expect to get a permission denied error if we dynamically +// import this module without --allow-read. +export * from "file:///c:/etc/passwd"; +console.log("Hello from evil_remote_import.js"); diff --git a/cli/tests/subdir/form_urlencoded.txt b/cli/tests/subdir/form_urlencoded.txt new file mode 100644 index 000000000..70e087c20 --- /dev/null +++ b/cli/tests/subdir/form_urlencoded.txt @@ -0,0 +1 @@ +field_1=Hi&field_2=%3CDeno%3E \ No newline at end of file diff --git a/cli/tests/subdir/indirect_import_error.js b/cli/tests/subdir/indirect_import_error.js new file mode 100644 index 000000000..84011d291 --- /dev/null +++ b/cli/tests/subdir/indirect_import_error.js @@ -0,0 +1 @@ +export * from "does not exist either"; diff --git a/cli/tests/subdir/indirect_throws.js b/cli/tests/subdir/indirect_throws.js new file mode 100644 index 000000000..e1810a66c --- /dev/null +++ b/cli/tests/subdir/indirect_throws.js @@ -0,0 +1 @@ +export * from "./throws.js"; diff --git a/cli/tests/subdir/mismatch_ext.ts b/cli/tests/subdir/mismatch_ext.ts new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mismatch_ext.ts @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mod1.ts b/cli/tests/subdir/mod1.ts new file mode 100644 index 000000000..393535588 --- /dev/null +++ b/cli/tests/subdir/mod1.ts @@ -0,0 +1,17 @@ +import { returnsFoo, printHello2 } from "./subdir2/mod2.ts"; + +export function returnsHi(): string { + return "Hi"; +} + +export function returnsFoo2(): string { + return returnsFoo(); +} + +export function printHello3(): void { + printHello2(); +} + +export function throwsError(): void { + throw Error("exception from mod1"); +} diff --git a/cli/tests/subdir/mod2.ts b/cli/tests/subdir/mod2.ts new file mode 100644 index 000000000..ce1adc0e8 --- /dev/null +++ b/cli/tests/subdir/mod2.ts @@ -0,0 +1 @@ +export { printHello } from "./print_hello.ts"; diff --git a/cli/tests/subdir/mod3.js b/cli/tests/subdir/mod3.js new file mode 100644 index 000000000..ce534f570 --- /dev/null +++ b/cli/tests/subdir/mod3.js @@ -0,0 +1 @@ +export const isTSFile = false; diff --git a/cli/tests/subdir/mod4.js b/cli/tests/subdir/mod4.js new file mode 100644 index 000000000..71332dbc4 --- /dev/null +++ b/cli/tests/subdir/mod4.js @@ -0,0 +1 @@ +export const isMod4 = true; diff --git a/cli/tests/subdir/mod5.mjs b/cli/tests/subdir/mod5.mjs new file mode 100644 index 000000000..f21d8862b --- /dev/null +++ b/cli/tests/subdir/mod5.mjs @@ -0,0 +1 @@ +export const isMod5 = true; diff --git a/cli/tests/subdir/mt_application_ecmascript.j2.js b/cli/tests/subdir/mt_application_ecmascript.j2.js new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_application_ecmascript.j2.js @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_application_x_javascript.j4.js b/cli/tests/subdir/mt_application_x_javascript.j4.js new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_application_x_javascript.j4.js @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_application_x_typescript.t4.ts b/cli/tests/subdir/mt_application_x_typescript.t4.ts new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_application_x_typescript.t4.ts @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_javascript.js b/cli/tests/subdir/mt_javascript.js new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_javascript.js @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_text_ecmascript.j3.js b/cli/tests/subdir/mt_text_ecmascript.j3.js new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_text_ecmascript.j3.js @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_text_javascript.j1.js b/cli/tests/subdir/mt_text_javascript.j1.js new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_text_javascript.j1.js @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_text_typescript.t1.ts b/cli/tests/subdir/mt_text_typescript.t1.ts new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_text_typescript.t1.ts @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_video_mp2t.t3.ts b/cli/tests/subdir/mt_video_mp2t.t3.ts new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_video_mp2t.t3.ts @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/mt_video_vdn.t2.ts b/cli/tests/subdir/mt_video_vdn.t2.ts new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/mt_video_vdn.t2.ts @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/no_ext b/cli/tests/subdir/no_ext new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/no_ext @@ -0,0 +1 @@ +export const loaded = true; diff --git a/cli/tests/subdir/print_hello.ts b/cli/tests/subdir/print_hello.ts new file mode 100644 index 000000000..7ecce5040 --- /dev/null +++ b/cli/tests/subdir/print_hello.ts @@ -0,0 +1,3 @@ +export function printHello(): void { + console.log("Hello"); +} diff --git a/cli/tests/subdir/redirects/redirect1.js b/cli/tests/subdir/redirects/redirect1.js new file mode 100644 index 000000000..d674be88c --- /dev/null +++ b/cli/tests/subdir/redirects/redirect1.js @@ -0,0 +1 @@ +export const redirect = 1; diff --git a/cli/tests/subdir/redirects/redirect1.ts b/cli/tests/subdir/redirects/redirect1.ts new file mode 100644 index 000000000..d674be88c --- /dev/null +++ b/cli/tests/subdir/redirects/redirect1.ts @@ -0,0 +1 @@ +export const redirect = 1; diff --git a/cli/tests/subdir/redirects/redirect2.js b/cli/tests/subdir/redirects/redirect2.js new file mode 100644 index 000000000..e4244f638 --- /dev/null +++ b/cli/tests/subdir/redirects/redirect2.js @@ -0,0 +1 @@ +import "./redirect1.js"; diff --git a/cli/tests/subdir/redirects/redirect3.js b/cli/tests/subdir/redirects/redirect3.js new file mode 100644 index 000000000..e24f2af32 --- /dev/null +++ b/cli/tests/subdir/redirects/redirect3.js @@ -0,0 +1,2 @@ +import { redirect } from "./redirect1.js"; +export const value = `3 imports ${redirect}`; diff --git a/cli/tests/subdir/redirects/redirect4.ts b/cli/tests/subdir/redirects/redirect4.ts new file mode 100644 index 000000000..45c65c5eb --- /dev/null +++ b/cli/tests/subdir/redirects/redirect4.ts @@ -0,0 +1,2 @@ +import { redirect } from "./redirect1.ts"; +export const value = `4 imports ${redirect}`; diff --git a/cli/tests/subdir/subdir2/mod2.ts b/cli/tests/subdir/subdir2/mod2.ts new file mode 100644 index 000000000..c88d4708c --- /dev/null +++ b/cli/tests/subdir/subdir2/mod2.ts @@ -0,0 +1,9 @@ +import { printHello } from "../print_hello.ts"; + +export function returnsFoo(): string { + return "Foo"; +} + +export function printHello2(): void { + printHello(); +} diff --git a/cli/tests/subdir/test_worker.js b/cli/tests/subdir/test_worker.js new file mode 100644 index 000000000..53d38ba96 --- /dev/null +++ b/cli/tests/subdir/test_worker.js @@ -0,0 +1,7 @@ +onmessage = function(e) { + console.log(e.data); + + postMessage(e.data); + + workerClose(); +}; diff --git a/cli/tests/subdir/test_worker.ts b/cli/tests/subdir/test_worker.ts new file mode 100644 index 000000000..c8109d131 --- /dev/null +++ b/cli/tests/subdir/test_worker.ts @@ -0,0 +1,7 @@ +onmessage = function(e): void { + console.log(e.data); + + postMessage(e.data); + + workerClose(); +}; diff --git a/cli/tests/subdir/throws.js b/cli/tests/subdir/throws.js new file mode 100644 index 000000000..b77e7104f --- /dev/null +++ b/cli/tests/subdir/throws.js @@ -0,0 +1,5 @@ +export function boo() { + console.log("Boo!"); +} + +throw new Error("An error"); diff --git a/cli/tests/subdir/unknown_ext.deno b/cli/tests/subdir/unknown_ext.deno new file mode 100644 index 000000000..e67d2a017 --- /dev/null +++ b/cli/tests/subdir/unknown_ext.deno @@ -0,0 +1 @@ +export const loaded = true; -- cgit v1.2.3