]> granicus.if.org Git - php/commitdiff
test for bug #33389
authorfoobar <sniper@php.net>
Sat, 18 Jun 2005 01:01:48 +0000 (01:01 +0000)
committerfoobar <sniper@php.net>
Sat, 18 Jun 2005 01:01:48 +0000 (01:01 +0000)
ext/reflection/tests/bug33389.phpt [new file with mode: 0755]

diff --git a/ext/reflection/tests/bug33389.phpt b/ext/reflection/tests/bug33389.phpt
new file mode 100755 (executable)
index 0000000..ebe18c2
--- /dev/null
@@ -0,0 +1,93 @@
+--TEST--
+Bug #33389 (double free() when exporting a ReflectionClass)
+--FILE--
+<?php
+define ('foobar', 1);
+class Test {
+    function foo1($arg=foobar) {
+    }
+    function foo2($arg=null) {
+    }
+    function foo3($arg=false) {
+    }
+    function foo4($arg='foo') {
+    }
+    function foo5($arg=1) {
+    }
+    function bar($arg) {
+    }
+    function foo() {
+    }
+}
+Reflection::export(new ReflectionClass('Test'));
+?>
+--EXPECTF--
+Class [ <user> class Test ] {
+  @@ %sbug33389.php 3-18
+
+  - Constants [0] {
+  }
+
+  - Static properties [0] {
+  }
+
+  - Static methods [0] {
+  }
+
+  - Properties [0] {
+  }
+
+  - Methods [7] {
+    Method [ <user> public method foo1 ] {
+      @@ %sbug33389.php 4 - 5
+
+      - Parameters [1] {
+        Parameter #0 [ <optional> $arg = foobar ]
+      }
+    }
+
+    Method [ <user> public method foo2 ] {
+      @@ %sbug33389.php 6 - 7
+
+      - Parameters [1] {
+        Parameter #0 [ <optional> $arg = NULL ]
+      }
+    }
+
+    Method [ <user> public method foo3 ] {
+      @@ %sbug33389.php 8 - 9
+
+      - Parameters [1] {
+        Parameter #0 [ <optional> $arg = FALSE ]
+      }
+    }
+
+    Method [ <user> public method foo4 ] {
+      @@ %sbug33389.php 10 - 11
+
+      - Parameters [1] {
+        Parameter #0 [ <optional> $arg = 'foo' ]
+      }
+    }
+
+    Method [ <user> public method foo5 ] {
+      @@ %sbug33389.php 12 - 13
+
+      - Parameters [1] {
+        Parameter #0 [ <optional> $arg = 1 ]
+      }
+    }
+
+    Method [ <user> public method bar ] {
+      @@ %sbug33389.php 14 - 15
+
+      - Parameters [1] {
+        Parameter #0 [ <required> $arg ]
+      }
+    }
+
+    Method [ <user> public method foo ] {
+      @@ %sbug33389.php 16 - 17
+    }
+  }
+}