Skip to content

Commit 6f005ee

Browse files
committed
Move all fixtures into small fixture files
1 parent a6fc952 commit 6f005ee

15 files changed

+876
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
class ClassWithSymbolicRefProperty {
3+
public $my_property;
4+
5+
function method_with_symbolic_ref_property() {
6+
$properties = array('my_property');
7+
foreach ($properties as $property) {
8+
$this->$property = 'some value';
9+
$this -> $property = 'some value';
10+
$this->$undefined_property = 'some value';
11+
$this -> $undefined_property = 'some value';
12+
}
13+
}
14+
15+
function method_with_symbolic_ref_method() {
16+
$methods = array('method_with_symbolic_ref_property');
17+
foreach ($methods as $method) {
18+
$this->$method();
19+
$this -> $method();
20+
$this->$undefined_method();
21+
$this -> $undefined_method();
22+
}
23+
}
24+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?php
2+
3+
class ClassWithoutMembers {
4+
function method_without_param() {
5+
echo $var;
6+
echo "xxx $var xxx";
7+
echo "xxx {$var} xxx";
8+
echo "xxx $var $var2 xxx";
9+
echo "xxx {$var} {$var2} xxx";
10+
func($var);
11+
func(12, $var);
12+
func($var, 12);
13+
func(12, $var, 12);
14+
$var = 'set the var';
15+
echo $var;
16+
echo "xxx $var xxx";
17+
echo "xxx {$var} xxx";
18+
echo "xxx $var $var2 xxx";
19+
echo "xxx {$var} {$var2} xxx";
20+
func($var);
21+
func(12, $var);
22+
func($var, 12);
23+
func(12, $var, 12);
24+
$this->method_with_member_var();
25+
return $var;
26+
}
27+
28+
function method_with_param($param) {
29+
echo $param;
30+
echo "xxx $param xxx";
31+
echo "xxx {$param} xxx";
32+
$param = 'set the param';
33+
echo $param;
34+
echo "xxx $param xxx";
35+
echo "xxx {$param} xxx";
36+
$this->method_with_member_var();
37+
return $param;
38+
}
39+
40+
function method_with_member_var() {
41+
echo $this->member_var;
42+
echo self::$static_member_var;
43+
}
44+
}
45+
46+
class ClassWithMembers {
47+
public $member_var;
48+
static $static_member_var;
49+
50+
function method_with_member_var() {
51+
echo $this->member_var;
52+
echo $this->no_such_member_var;
53+
echo self::$static_member_var;
54+
echo self::$no_such_static_member_var;
55+
echo SomeOtherClass::$external_static_member_var;
56+
}
57+
}
58+
59+
class ClassWithLateStaticBinding {
60+
static function method_with_late_static_binding($param) {
61+
static::some_method($param);
62+
static::some_method($var);
63+
static::some_method(static::CONSTANT, $param);
64+
}
65+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
function function_with_literal_compact($param1, $param2, $param3, $param4) {
3+
$var1 = 'value1';
4+
$var2 = 'value2';
5+
$var4 = 'value4';
6+
$squish = compact('var1');
7+
$squish = compact('var3');
8+
$squish = compact('param1');
9+
$squish = compact('var2', 'param3');
10+
$squish = compact(array('var4'), array('param4', 'var5'));
11+
echo $squish;
12+
}
13+
14+
function function_with_expression_compact($param1, $param2, $param3, $param4) {
15+
$var1 = "value1";
16+
$var2 = "value2";
17+
$var4 = "value4";
18+
$var6 = "value6";
19+
$var7 = "value7";
20+
$var8 = "value8";
21+
$var9 = "value9";
22+
$squish = compact("var1");
23+
$squish = compact("var3");
24+
$squish = compact("param1");
25+
$squish = compact("var2", "param3");
26+
$squish = compact(array("var4"), array("param4", "var5"));
27+
$squish = compact($var6);
28+
$squish = compact("var" . "7");
29+
$squish = compact("blah $var8");
30+
$squish = compact("$var9");
31+
echo $squish;
32+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?php
2+
function function_with_closure($outer_param) {
3+
$outer_var = 1;
4+
$outer_var2 = 2;
5+
array_map(function ($inner_param) {
6+
$inner_var = 1;
7+
echo $outer_param;
8+
echo $inner_param;
9+
echo $outer_var;
10+
echo $outer_var2;
11+
echo $inner_var;
12+
}, array());
13+
array_map(function () use ($outer_var, $outer_var3, &$outer_param) {
14+
$inner_var2 = 2;
15+
echo $outer_param;
16+
echo $inner_param;
17+
echo $outer_var;
18+
echo $outer_var2;
19+
echo $outer_var3;
20+
echo $inner_var;
21+
echo $inner_var2;
22+
}, array());
23+
echo $outer_var;
24+
echo $outer_var2;
25+
echo $outer_var3;
26+
echo $inner_param;
27+
echo $inner_var;
28+
echo $inner_var2;
29+
}
30+
31+
class ClassWithThisInsideClosure {
32+
function method_with_this_inside_closure() {
33+
echo $this;
34+
echo "$this";
35+
array_map(function ($inner_param) {
36+
echo $this;
37+
echo "$this";
38+
}, array());
39+
echo $this;
40+
echo "$this";
41+
}
42+
}
43+
44+
class ClassWithSelfInsideClosure {
45+
static $static_member;
46+
47+
function method_with_self_inside_closure() {
48+
echo self::$static_member;
49+
array_map(function () {
50+
echo self::$static_member;
51+
}, array());
52+
echo self::$static_member;
53+
}
54+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
function function_with_default_defined_param($unused, $param = 12) {
4+
echo $param;
5+
echo "xxx $param xxx";
6+
echo "xxx {$param} xxx";
7+
$param = 'set the param';
8+
echo $param;
9+
echo "xxx $param xxx";
10+
echo "xxx {$param} xxx";
11+
return $param;
12+
}
13+
14+
function function_with_default_null_param($unused, $param = null) {
15+
echo $param;
16+
echo "xxx $param xxx";
17+
echo "xxx {$param} xxx";
18+
$param = 'set the param';
19+
echo $param;
20+
echo "xxx $param xxx";
21+
echo "xxx {$param} xxx";
22+
return $param;
23+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
3+
function function_with_undefined_foreach() {
4+
foreach ($array as $element1) {
5+
echo $element1;
6+
}
7+
echo $element1;
8+
foreach ($array as &$element2) {
9+
echo $element2;
10+
}
11+
echo $element2;
12+
foreach ($array as $key1 => $value1) {
13+
echo "$key1 => $value1\n";
14+
}
15+
echo "$key1 => $value1\n";
16+
foreach ($array as $key2 => &$value2) {
17+
echo "$key2 => $value2\n";
18+
}
19+
echo "$key2 => $value2\n";
20+
foreach ($array as $element3) {
21+
}
22+
foreach ($array as &$element4) {
23+
}
24+
foreach ($array as $key3 => $value3) {
25+
}
26+
foreach ($array as $key4 => &$value4) {
27+
}
28+
}
29+
30+
function function_with_defined_foreach() {
31+
$array = array();
32+
foreach ($array as $element1) {
33+
echo $element1;
34+
}
35+
echo $element1;
36+
foreach ($array as &$element2) {
37+
echo $element2;
38+
}
39+
echo $element2;
40+
foreach ($array as $key1 => $value1) {
41+
echo "$key1 => $value1\n";
42+
}
43+
echo "$key1 => $value1\n";
44+
foreach ($array as $key2 => &$value2) {
45+
echo "$key2 => $value2\n";
46+
}
47+
echo "$key2 => $value2\n";
48+
foreach ($array as $element3) {
49+
}
50+
foreach ($array as &$element4) {
51+
}
52+
foreach ($array as $key3 => $value3) {
53+
}
54+
foreach ($array as $key4 => &$value4) {
55+
}
56+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
function function_with_global_var() {
4+
global $var, $var2, $unused;
5+
6+
echo $var;
7+
echo $var3;
8+
return $var2;
9+
}
10+
11+
function function_with_superglobals() {
12+
echo print_r($GLOBALS, true);
13+
echo print_r($_SERVER, true);
14+
echo print_r($_GET, true);
15+
echo print_r($_POST, true);
16+
echo print_r($_FILES, true);
17+
echo print_r($_COOKIE, true);
18+
echo print_r($_SESSION, true);
19+
echo print_r($_REQUEST, true);
20+
echo print_r($_ENV, true);
21+
echo "{$GLOBALS['whatever']}";
22+
echo "{$GLOBALS['whatever']} $var";
23+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
function function_with_inline_assigns() {
3+
echo $var;
4+
($var = 12) && $var;
5+
echo $var;
6+
echo $var2;
7+
while ($var2 = whatever()) {
8+
echo $var2;
9+
}
10+
echo $var2;
11+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?php
2+
function function_with_global_redeclarations($param) {
3+
global $global;
4+
static $static;
5+
$bound = 12;
6+
$local = function () use ($bound) {
7+
global $bound;
8+
echo $bound;
9+
};
10+
try {
11+
} catch (Exception $e) {
12+
}
13+
echo "$param $global $static $bound $local $e\n"; // Stop unused var warnings.
14+
global $param;
15+
global $static;
16+
global $bound;
17+
global $local;
18+
global $e;
19+
}
20+
21+
function function_with_static_redeclarations($param) {
22+
global $global;
23+
static $static, $static;
24+
$bound = 12;
25+
$local = function () use ($bound) {
26+
static$bound;
27+
echo $bound;
28+
};
29+
try {
30+
} catch (Exception $e) {
31+
}
32+
echo "$param $global $static $bound $local $e\n"; // Stop unused var warnings.
33+
static $param;
34+
static $static;
35+
static $bound;
36+
static $local;
37+
static $e;
38+
}
39+
40+
function function_with_catch_redeclarations() {
41+
try {
42+
} catch (Exception $e) {
43+
echo $e;
44+
}
45+
try {
46+
} catch (Exception $e) {
47+
echo $e;
48+
}
49+
}

0 commit comments

Comments
 (0)