summaryrefslogtreecommitdiff
path: root/tests/specs/run/explicit_resource_management
diff options
context:
space:
mode:
authorMohammad Sulaiman <mohammad.sulaiman@exalt.ps>2024-11-05 08:39:05 +0200
committerGitHub <noreply@github.com>2024-11-05 06:39:05 +0000
commit89f0b796bd442ff352c3f93f69156ca6d85bfd5e (patch)
tree3ac2a58c6d85f6af57eb2c6b07b1f2d0e8687b3a /tests/specs/run/explicit_resource_management
parentf9a05068d6de247574fb764044a446d1d7ed2e9b (diff)
chore: deprecate run itests (#26444)
Diffstat (limited to 'tests/specs/run/explicit_resource_management')
-rw-r--r--tests/specs/run/explicit_resource_management/__test__.jsonc4
-rw-r--r--tests/specs/run/explicit_resource_management/explicit_resource_management/main.out5
-rw-r--r--tests/specs/run/explicit_resource_management/explicit_resource_management/main.ts21
3 files changed, 30 insertions, 0 deletions
diff --git a/tests/specs/run/explicit_resource_management/__test__.jsonc b/tests/specs/run/explicit_resource_management/__test__.jsonc
new file mode 100644
index 000000000..7062e6f36
--- /dev/null
+++ b/tests/specs/run/explicit_resource_management/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --quiet --check explicit_resource_management/main.ts",
+ "output": "explicit_resource_management/main.out"
+}
diff --git a/tests/specs/run/explicit_resource_management/explicit_resource_management/main.out b/tests/specs/run/explicit_resource_management/explicit_resource_management/main.out
new file mode 100644
index 000000000..ff5ac4b59
--- /dev/null
+++ b/tests/specs/run/explicit_resource_management/explicit_resource_management/main.out
@@ -0,0 +1,5 @@
+A
+Disposed
+B
+Async disposed
+C
diff --git a/tests/specs/run/explicit_resource_management/explicit_resource_management/main.ts b/tests/specs/run/explicit_resource_management/explicit_resource_management/main.ts
new file mode 100644
index 000000000..0201a51f9
--- /dev/null
+++ b/tests/specs/run/explicit_resource_management/explicit_resource_management/main.ts
@@ -0,0 +1,21 @@
+class Resource {
+ [Symbol.dispose]() {
+ console.log("Disposed");
+ }
+}
+class AsyncResource {
+ async [Symbol.asyncDispose]() {
+ await new Promise((resolve) => setTimeout(resolve, 10));
+ console.log("Async disposed");
+ }
+}
+
+{
+ using resource = new Resource();
+ console.log("A");
+}
+{
+ await using resource = new AsyncResource();
+ console.log("B");
+}
+console.log("C");