Ver código fonte

[flash] add WeakMap.unit.hx (see #3064)

Simon Krajewski 11 anos atrás
pai
commit
0f1ae9294b
1 arquivos alterados com 87 adições e 0 exclusões
  1. 87 0
      tests/unit/unitstd/haxe/ds/WeakMap.unit.hx

+ 87 - 0
tests/unit/unitstd/haxe/ds/WeakMap.unit.hx

@@ -0,0 +1,87 @@
+#if flash
+var k1 = new IntWrap(1);
+var k2 = new IntWrap(2);
+var k3 = new IntWrap(3);
+var o = new haxe.ds.WeakMap();
+
+// non existent
+o.exists(k1) == false;
+o.exists(k2) == false;
+o.exists(k3) == false;
+o.get(k1) == null;
+o.get(k2) == null;
+o.get(k3) == null;
+
+// set + exists
+o.set(k1, "9");
+o.set(k2, "8");
+o.set(k3, "7");
+o.exists(k1) == true;
+o.exists(k2) == true;
+o.exists(k3) == true;
+
+// the __id__ field should not appear in Reflect.fields
+#if (js || flash8)
+var fields = Reflect.fields(k1);
+fields == ["i"];
+#end
+
+// get
+o.get(k3) == "7";
+o.get(k2) == "8";
+o.get(k1) == "9";
+
+// keys
+var a = [];
+for (k in o.keys())
+	a.push(k);
+a.length == 3;
+a[0] in [k1, k2, k3];
+a[1] in [k1, k2, k3];
+a[2] in [k1, k2, k3];
+o.exists(k1) == true;
+o.exists(k2) == true;
+o.exists(k3) == true;
+o.get(k3) == "7";
+o.get(k2) == "8";
+o.get(k1) == "9";
+
+// iterator
+var a:Array<String> = [];
+for (k in o) {
+	a.push(k);
+}
+a.length == 3;
+a[0] in ["9", "8", "7"];
+a[1] in ["9", "8", "7"];
+a[2] in ["9", "8", "7"];
+o.exists(k1) == true;
+o.exists(k2) == true;
+o.exists(k3) == true;
+o.get(k3) == "7";
+o.get(k2) == "8";
+o.get(k1) == "9";
+
+// remove
+o.remove(k2) == true;
+o.exists(k1) == true;
+o.exists(k2) == false;
+o.exists(k3) == true;
+o.get(k1) == "9";
+o.get(k2) == null;
+o.get(k3) == "7";
+var a = [];
+for (k in o.keys())
+	a.push(k);
+a.length == 2;
+a[0] in [k1, k3];
+a[1] in [k1, k3];
+var a:Array<String> = [];
+for (k in o.iterator()) {
+	a.push(k);
+}
+a.length == 2;
+a[0] in ["9", "7"];
+a[1] in ["9", "7"];
+o.remove(k2) == false;
+#end