summaryrefslogtreecommitdiff
path: root/cli/tests/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/testdata')
-rw-r--r--cli/tests/testdata/run/decorators/experimental/deno.json5
-rw-r--r--cli/tests/testdata/run/decorators/experimental/no_check/main.out (renamed from cli/tests/testdata/run/no_check_decorators.ts.out)0
-rw-r--r--cli/tests/testdata/run/decorators/experimental/no_check/main.ts (renamed from cli/tests/testdata/run/no_check_decorators.ts)0
-rw-r--r--cli/tests/testdata/run/decorators/experimental/runtime/main.out7
-rw-r--r--cli/tests/testdata/run/decorators/experimental/runtime/main.ts42
-rw-r--r--cli/tests/testdata/run/decorators/experimental/ts/main.out (renamed from cli/tests/testdata/run/ts_decorators.ts.out)0
-rw-r--r--cli/tests/testdata/run/decorators/experimental/ts/main.ts (renamed from cli/tests/testdata/run/ts_decorators.ts)0
-rw-r--r--cli/tests/testdata/run/decorators/tc39_proposal/main.out3
-rw-r--r--cli/tests/testdata/run/decorators/tc39_proposal/main.ts21
-rw-r--r--cli/tests/testdata/run/runtime_decorators.ts8
10 files changed, 82 insertions, 4 deletions
diff --git a/cli/tests/testdata/run/decorators/experimental/deno.json b/cli/tests/testdata/run/decorators/experimental/deno.json
new file mode 100644
index 000000000..504cd646e
--- /dev/null
+++ b/cli/tests/testdata/run/decorators/experimental/deno.json
@@ -0,0 +1,5 @@
+{
+ "compilerOptions": {
+ "experimentalDecorators": true
+ }
+}
diff --git a/cli/tests/testdata/run/no_check_decorators.ts.out b/cli/tests/testdata/run/decorators/experimental/no_check/main.out
index 015f7076e..015f7076e 100644
--- a/cli/tests/testdata/run/no_check_decorators.ts.out
+++ b/cli/tests/testdata/run/decorators/experimental/no_check/main.out
diff --git a/cli/tests/testdata/run/no_check_decorators.ts b/cli/tests/testdata/run/decorators/experimental/no_check/main.ts
index 9f7ec550d..9f7ec550d 100644
--- a/cli/tests/testdata/run/no_check_decorators.ts
+++ b/cli/tests/testdata/run/decorators/experimental/no_check/main.ts
diff --git a/cli/tests/testdata/run/decorators/experimental/runtime/main.out b/cli/tests/testdata/run/decorators/experimental/runtime/main.out
new file mode 100644
index 000000000..0fc1d4590
--- /dev/null
+++ b/cli/tests/testdata/run/decorators/experimental/runtime/main.out
@@ -0,0 +1,7 @@
+@A evaluated
+@B evaluated
+@B called
+@A called
+fn() called from @A
+fn() called from @B
+C.test() called
diff --git a/cli/tests/testdata/run/decorators/experimental/runtime/main.ts b/cli/tests/testdata/run/decorators/experimental/runtime/main.ts
new file mode 100644
index 000000000..40a26bbd4
--- /dev/null
+++ b/cli/tests/testdata/run/decorators/experimental/runtime/main.ts
@@ -0,0 +1,42 @@
+// deno-lint-ignore-file
+function a() {
+ console.log("@A evaluated");
+ return function (
+ target: any,
+ propertyKey: string,
+ descriptor: PropertyDescriptor,
+ ) {
+ console.log("@A called");
+ const fn = descriptor.value;
+ descriptor.value = function () {
+ console.log("fn() called from @A");
+ fn();
+ };
+ };
+}
+
+function b() {
+ console.log("@B evaluated");
+ return function (
+ target: any,
+ propertyKey: string,
+ descriptor: PropertyDescriptor,
+ ) {
+ console.log("@B called");
+ const fn = descriptor.value;
+ descriptor.value = function () {
+ console.log("fn() called from @B");
+ fn();
+ };
+ };
+}
+
+class C {
+ @a()
+ @b()
+ static test() {
+ console.log("C.test() called");
+ }
+}
+
+C.test();
diff --git a/cli/tests/testdata/run/ts_decorators.ts.out b/cli/tests/testdata/run/decorators/experimental/ts/main.out
index ee77417cf..ee77417cf 100644
--- a/cli/tests/testdata/run/ts_decorators.ts.out
+++ b/cli/tests/testdata/run/decorators/experimental/ts/main.out
diff --git a/cli/tests/testdata/run/ts_decorators.ts b/cli/tests/testdata/run/decorators/experimental/ts/main.ts
index 95fba6cd4..95fba6cd4 100644
--- a/cli/tests/testdata/run/ts_decorators.ts
+++ b/cli/tests/testdata/run/decorators/experimental/ts/main.ts
diff --git a/cli/tests/testdata/run/decorators/tc39_proposal/main.out b/cli/tests/testdata/run/decorators/tc39_proposal/main.out
new file mode 100644
index 000000000..39394952e
--- /dev/null
+++ b/cli/tests/testdata/run/decorators/tc39_proposal/main.out
@@ -0,0 +1,3 @@
+starting m with arguments 1
+C.m 1
+ending m
diff --git a/cli/tests/testdata/run/decorators/tc39_proposal/main.ts b/cli/tests/testdata/run/decorators/tc39_proposal/main.ts
new file mode 100644
index 000000000..00c8a8502
--- /dev/null
+++ b/cli/tests/testdata/run/decorators/tc39_proposal/main.ts
@@ -0,0 +1,21 @@
+// deno-lint-ignore no-explicit-any
+function logged(value: any, { kind, name }: { kind: string; name: string }) {
+ if (kind === "method") {
+ return function (...args: unknown[]) {
+ console.log(`starting ${name} with arguments ${args.join(", ")}`);
+ // @ts-ignore this has implicit any type
+ const ret = value.call(this, ...args);
+ console.log(`ending ${name}`);
+ return ret;
+ };
+ }
+}
+
+class C {
+ @logged
+ m(arg: number) {
+ console.log("C.m", arg);
+ }
+}
+
+new C().m(1);
diff --git a/cli/tests/testdata/run/runtime_decorators.ts b/cli/tests/testdata/run/runtime_decorators.ts
index 5da109110..40a26bbd4 100644
--- a/cli/tests/testdata/run/runtime_decorators.ts
+++ b/cli/tests/testdata/run/runtime_decorators.ts
@@ -1,5 +1,5 @@
// deno-lint-ignore-file
-function A() {
+function a() {
console.log("@A evaluated");
return function (
target: any,
@@ -15,7 +15,7 @@ function A() {
};
}
-function B() {
+function b() {
console.log("@B evaluated");
return function (
target: any,
@@ -32,8 +32,8 @@ function B() {
}
class C {
- @A()
- @B()
+ @a()
+ @b()
static test() {
console.log("C.test() called");
}