|
@@ -225,6 +225,68 @@ class TestPhp extends Test
|
|
|
var enm = Annotation;
|
|
|
eq("unit\\Annotation", Syntax.nativeClassName(enm));
|
|
|
}
|
|
|
+
|
|
|
+ function testNativeArray() {
|
|
|
+ var keys:Array<Dynamic> = ['hello', 12];
|
|
|
+ var values:Array<Dynamic> = [10, 'world'];
|
|
|
+ var a = new php.NativeArray();
|
|
|
+ for(i in 0...keys.length) {
|
|
|
+ a[keys[i]] = values[i];
|
|
|
+ }
|
|
|
+
|
|
|
+ var actualValues = [for(v in a) v];
|
|
|
+ aeq(values, actualValues);
|
|
|
+
|
|
|
+ var actualKeys:Array<Dynamic> = [];
|
|
|
+ var actualValues:Array<Dynamic> = [];
|
|
|
+ for(k => v in a) {
|
|
|
+ actualKeys.push(k);
|
|
|
+ actualValues.push(v);
|
|
|
+ }
|
|
|
+ aeq(keys, actualKeys);
|
|
|
+ aeq(values, actualValues);
|
|
|
+ }
|
|
|
+
|
|
|
+ function testNativeIndexedArray() {
|
|
|
+ var expected = [10, 20, 30];
|
|
|
+ var a = new NativeIndexedArray<Int>();
|
|
|
+ for(v in expected) {
|
|
|
+ a.push(v);
|
|
|
+ }
|
|
|
+
|
|
|
+ var actual = [for(v in a) v];
|
|
|
+ aeq(expected, actual);
|
|
|
+
|
|
|
+ var indexes = [];
|
|
|
+ var values = [];
|
|
|
+ for(i => v in a) {
|
|
|
+ indexes.push(i);
|
|
|
+ values.push(v);
|
|
|
+ }
|
|
|
+ aeq([for(i in 0...expected.length) i], indexes);
|
|
|
+ aeq(expected, values);
|
|
|
+ }
|
|
|
+
|
|
|
+ function testNativeAssocArray() {
|
|
|
+ var keys = ['one', 'two'];
|
|
|
+ var values = [1, 2];
|
|
|
+ var a = new NativeAssocArray<Int>();
|
|
|
+ for(i in 0...keys.length) {
|
|
|
+ a[keys[i]] = values[i];
|
|
|
+ }
|
|
|
+
|
|
|
+ var actualValues = [for(v in a) v];
|
|
|
+ aeq(values, actualValues);
|
|
|
+
|
|
|
+ var actualKeys = [];
|
|
|
+ var actualValues = [];
|
|
|
+ for(k => v in a) {
|
|
|
+ actualKeys.push(k);
|
|
|
+ actualValues.push(v);
|
|
|
+ }
|
|
|
+ aeq(keys, actualKeys);
|
|
|
+ aeq(values, actualValues);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private class ClosureDummy {
|