diff --git a/hphp/test/vm/cnvBool.php b/hphp/test/vm/cnvBool.php new file mode 100644 index 000000000..0ea829d1a --- /dev/null +++ b/hphp/test/vm/cnvBool.php @@ -0,0 +1,56 @@ += 1) { + $v1 = null; + $v2 = false; + $v3 = true; + $v4 = 0; + $v5 = 1; + $v6 = 0.0; + $v7 = 1.1; + $v8 = "false"; + $v9 = new C(); + $v10 = array(); + $v11 = array(1); + } + var_dump((bool)$v1); + var_dump((bool)$v2); + var_dump((bool)$v3); + var_dump((bool)$v4); + var_dump((bool)$v5); + var_dump((bool)$v6); + var_dump((bool)$v7); + var_dump((bool)$v8); + var_dump((bool)$v9); + var_dump((bool)$v10); + var_dump((bool)$v11); +} + +bar(1); + +?> diff --git a/hphp/test/vm/cnvBool.php.exp b/hphp/test/vm/cnvBool.php.exp new file mode 100644 index 000000000..a7dc30651 --- /dev/null +++ b/hphp/test/vm/cnvBool.php.exp @@ -0,0 +1,17 @@ +bool(false) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(false) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(true) +bool(true) +bool(false) +bool(true) diff --git a/hphp/test/vm/cnvDbl.php b/hphp/test/vm/cnvDbl.php new file mode 100644 index 000000000..ff4f9f3c5 --- /dev/null +++ b/hphp/test/vm/cnvDbl.php @@ -0,0 +1,55 @@ += 1) { + $v1 = null; + $v2 = false; + $v3 = true; + $v4 = 0; + $v5 = "1"; + $v6 = 0.0; + $v7 = "1.1"; + $v8 = "abc"; + $v9 = new C; + $v10 = array(); + $v11 = array(123); + } + var_dump((double)$v1); + var_dump((double)$v2); + var_dump((double)$v3); + var_dump((double)$v4); + var_dump((double)$v5); + var_dump((double)$v6); + var_dump((double)$v7); + var_dump((double)$v8); + var_dump((double)$v9); + var_dump((double)$v10); + var_dump((double)$v11); +} + +bar(1); diff --git a/hphp/test/vm/cnvDbl.php.exp b/hphp/test/vm/cnvDbl.php.exp new file mode 100644 index 000000000..8c0d9a60b --- /dev/null +++ b/hphp/test/vm/cnvDbl.php.exp @@ -0,0 +1,21 @@ +float(0) +float(1) +float(1) +float(9.007199254741E+15) +float(1.1) +float(0) +float(1) +HipHop Notice: Object of class C could not be converted to int in hphp/test/vm/cnvDbl.php on line 4 +float(1) +float(0) +float(0) +float(1) +float(0) +float(1) +float(0) +float(1.1) +float(0) +HipHop Notice: Object of class C could not be converted to int in hphp/test/vm/cnvDbl.php on line 50 +float(1) +float(0) +float(1) diff --git a/hphp/test/vm/cnvDbl.php.filter b/hphp/test/vm/cnvDbl.php.filter new file mode 120000 index 000000000..7b75548ca --- /dev/null +++ b/hphp/test/vm/cnvDbl.php.filter @@ -0,0 +1 @@ +filepath.filter \ No newline at end of file diff --git a/hphp/test/vm/cnvInt.php b/hphp/test/vm/cnvInt.php new file mode 100644 index 000000000..c59d9c60e --- /dev/null +++ b/hphp/test/vm/cnvInt.php @@ -0,0 +1,55 @@ += 1) { + $v1 = null; + $v2 = false; + $v3 = true; + $v4 = 0; + $v5 = "1"; + $v6 = 0.0; + $v7 = "1.1"; + $v8 = "abc"; + $v9 = new C; + $v10 = array(); + $v11 = array(123); + } + var_dump((int)$v1); + var_dump((int)$v2); + var_dump((int)$v3); + var_dump((int)$v4); + var_dump((int)$v5); + var_dump((int)$v6); + var_dump((int)$v7); + var_dump((int)$v8); + var_dump((int)$v9); + var_dump((int)$v10); + var_dump((int)$v11); +} + +bar(1); diff --git a/hphp/test/vm/cnvInt.php.exp b/hphp/test/vm/cnvInt.php.exp new file mode 100644 index 000000000..ec8ef0fc6 --- /dev/null +++ b/hphp/test/vm/cnvInt.php.exp @@ -0,0 +1,21 @@ +int(0) +int(1) +int(1) +int(9007199254740992) +int(1) +int(0) +int(1) +HipHop Notice: Object of class C could not be converted to int in hphp/test/vm/cnvInt.php on line 4 +int(1) +int(0) +int(0) +int(1) +int(0) +int(1) +int(0) +int(1) +int(0) +HipHop Notice: Object of class C could not be converted to int in hphp/test/vm/cnvInt.php on line 50 +int(1) +int(0) +int(1) diff --git a/hphp/test/vm/cnvInt.php.filter b/hphp/test/vm/cnvInt.php.filter new file mode 120000 index 000000000..7b75548ca --- /dev/null +++ b/hphp/test/vm/cnvInt.php.filter @@ -0,0 +1 @@ +filepath.filter \ No newline at end of file diff --git a/hphp/test/vm/cnvObj.php b/hphp/test/vm/cnvObj.php new file mode 100644 index 000000000..9e718ff8b --- /dev/null +++ b/hphp/test/vm/cnvObj.php @@ -0,0 +1,31 @@ += 1) { + $v1 = null; + } + var_dump((object)$v1); +} + +candy(1); \ No newline at end of file diff --git a/hphp/test/vm/cnvObj.php.exp b/hphp/test/vm/cnvObj.php.exp new file mode 100644 index 000000000..dc00238dc --- /dev/null +++ b/hphp/test/vm/cnvObj.php.exp @@ -0,0 +1,34 @@ +object(stdClass)#1 (0) { +} +object(stdClass)#1 (1) { + ["scalar"]=> + bool(false) +} +object(stdClass)#1 (1) { + ["scalar"]=> + bool(true) +} +object(stdClass)#1 (1) { + ["scalar"]=> + int(1) +} +object(stdClass)#1 (1) { + ["scalar"]=> + float(1.1) +} +object(stdClass)#1 (1) { + ["scalar"]=> + string(3) "abc" +} +object(stdClass)#1 (1) { + [0]=> + int(123) +} +object(C)#1 (0) { +} +object(stdClass)#1 (1) { + ["scalar"]=> + string(1) "1" +} +object(stdClass)#1 (0) { +} diff --git a/hphp/test/vm/cnvStr.php b/hphp/test/vm/cnvStr.php new file mode 100644 index 000000000..75bd0299b --- /dev/null +++ b/hphp/test/vm/cnvStr.php @@ -0,0 +1,58 @@ += 1) { + $v1 = null; + $v2 = false; + $v3 = true; + $v4 = 0; + $v5 = 1; + $v6 = 0.0; + $v7 = 1.1; + $v8 = "abc"; + $v9 = new C(); + $v10 = array(); + $v11 = array(123); + } + var_dump((string)$v1); + var_dump((string)$v2); + var_dump((string)$v3); + var_dump((string)$v4); + var_dump((string)$v5); + var_dump((string)$v6); + var_dump((string)$v7); + var_dump((string)$v8); + var_dump((string)$v9); + var_dump((string)$v10); + var_dump((string)$v11); +} + +bar(1); + +class D { } +var_dump(foo(new D)); diff --git a/hphp/test/vm/cnvStr.php.exp b/hphp/test/vm/cnvStr.php.exp new file mode 100644 index 000000000..35e48ee92 --- /dev/null +++ b/hphp/test/vm/cnvStr.php.exp @@ -0,0 +1,20 @@ +string(0) "" +string(0) "" +string(1) "1" +string(1) "1" +string(3) "1.1" +string(3) "abc" +string(5) "Array" +string(3) "a C" +string(0) "" +string(0) "" +string(1) "1" +string(1) "0" +string(1) "1" +string(1) "0" +string(3) "1.1" +string(3) "abc" +string(3) "a C" +string(5) "Array" +string(5) "Array" +HipHop Fatal error: Bad type conversion: D::__toString() was not defined. in hphp/test/vm/cnvStr.php on line 4 diff --git a/hphp/test/vm/cnvStr.php.filter b/hphp/test/vm/cnvStr.php.filter new file mode 120000 index 000000000..7b75548ca --- /dev/null +++ b/hphp/test/vm/cnvStr.php.filter @@ -0,0 +1 @@ +filepath.filter \ No newline at end of file