summaryrefslogtreecommitdiff
path: root/tests/specs/run/private_field_presence
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/run/private_field_presence')
-rw-r--r--tests/specs/run/private_field_presence/__test__.jsonc4
-rw-r--r--tests/specs/run/private_field_presence/private_field_presence.ts20
-rw-r--r--tests/specs/run/private_field_presence/private_field_presence.ts.out2
3 files changed, 26 insertions, 0 deletions
diff --git a/tests/specs/run/private_field_presence/__test__.jsonc b/tests/specs/run/private_field_presence/__test__.jsonc
new file mode 100644
index 000000000..982b88289
--- /dev/null
+++ b/tests/specs/run/private_field_presence/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --reload private_field_presence.ts",
+ "output": "private_field_presence.ts.out"
+}
diff --git a/tests/specs/run/private_field_presence/private_field_presence.ts b/tests/specs/run/private_field_presence/private_field_presence.ts
new file mode 100644
index 000000000..7ce2840d8
--- /dev/null
+++ b/tests/specs/run/private_field_presence/private_field_presence.ts
@@ -0,0 +1,20 @@
+export class Person {
+ #name: string;
+ constructor(name: string) {
+ this.#name = name;
+ }
+
+ equals(other: unknown) {
+ return other &&
+ typeof other === "object" &&
+ #name in other &&
+ this.#name === other.#name;
+ }
+}
+
+const a = new Person("alice");
+const b = new Person("bob");
+const c = new Person("alice");
+
+console.log(a.equals(b));
+console.log(a.equals(c));
diff --git a/tests/specs/run/private_field_presence/private_field_presence.ts.out b/tests/specs/run/private_field_presence/private_field_presence.ts.out
new file mode 100644
index 000000000..1d474d525
--- /dev/null
+++ b/tests/specs/run/private_field_presence/private_field_presence.ts.out
@@ -0,0 +1,2 @@
+false
+true