~hexmode/ubuntu/lucid/php5/php5.fix-php-bug-33210

« back to all changes in this revision

Viewing changes to tests/lang/engine_assignExecutionOrder_005.phpt

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2009-11-06 01:44:25 UTC
  • mfrom: (1.1.15 upstream) (0.3.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091106014425-5dsqjhbg303h3kfn
Tags: 5.2.11.dfsg.1-1ubuntu1
* Merge from debian testing, remaining changes:
  - debian/control, debian/rules: Disable a few build dependencies and
    accompanying, binary packages which we do not want to support in main:
    + firebird2-dev/php5-interbase (we have a seperate php-interbase source)
    + libc-client/php5-imap (we have a seperate php-imap source)
    + libmcrypt-dev/php5-mcrypt (seperate php-mycrpt source)
    + readline support again, now that the libedit issue is fixed.
  - debian/control: Add build dependency: libdedit-dev (>= 2.9.cvs.20050518-1)
    CLI readline support.
  - debian/rules:
    + Correctly mangle PHP5_* macros for lpia
  - debian/control:
    + Use libdb-4.6-dev.
    + Rename Vcs-Browser & Vcs-Git to XS-Original-Vcs-Browser & XS-Original-Vcs-Git (LP: #323731).
  - Dropped patches:
    - debian/patches/119-sybase-alias.patch: Use Debian's patch.
    - debian/patches/fix-autoconf-ftbfs.patch: Use Debian's patch
    - debian/patches/fix-zlib-decompression: Already in upstream
  - Use the default pear/install-pear-nozlib.phar in php 5.2.11
  - debian/control: Move php5-suhoshin to Suggests.
  - debian/rules: Fix broken symlink for pear.
  - Dropped dependency on autoconf2.13.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
--TEST--
2
 
Evaluation order during assignments.
3
 
--FILE--
4
 
<?php
5
 
 
6
 
function i1() {
7
 
        echo "i1\n";
8
 
        return 0;
9
 
}
10
 
 
11
 
function i2() {
12
 
        echo "i2\n";
13
 
        return 0;
14
 
}
15
 
 
16
 
function i3() {
17
 
        echo "i3\n";
18
 
        return 0;
19
 
}
20
 
 
21
 
function i4() {
22
 
        echo "i4\n";
23
 
        return 0;
24
 
}
25
 
 
26
 
function i5() {
27
 
        echo "i5\n";
28
 
        return 0;
29
 
}
30
 
 
31
 
function i6() {
32
 
        echo "i6\n";
33
 
        return 0;
34
 
}
35
 
 
36
 
$a = array(array(0));
37
 
$b = array(array(1));
38
 
$c = array(array(2));
39
 
 
40
 
$a[i1()][i2()] = $b[i3()][i4()] = $c[i5()][i6()];
41
 
 
42
 
var_dump($a);
43
 
var_dump($b);
44
 
var_dump($c);
45
 
 
46
 
?>
47
 
--EXPECT--
48
 
i1
49
 
i2
50
 
i3
51
 
i4
52
 
i5
53
 
i6
54
 
array(1) {
55
 
  [0]=>
56
 
  array(1) {
57
 
    [0]=>
58
 
    int(2)
59
 
  }
60
 
}
61
 
array(1) {
62
 
  [0]=>
63
 
  array(1) {
64
 
    [0]=>
65
 
    int(2)
66
 
  }
67
 
}
68
 
array(1) {
69
 
  [0]=>
70
 
  array(1) {
71
 
    [0]=>
72
 
    int(2)
73
 
  }
74
 
}
 
1
--TEST--
 
2
Evaluation order during assignments.
 
3
--FILE--
 
4
<?php
 
5
 
 
6
function i1() {
 
7
        echo "i1\n";
 
8
        return 0;
 
9
}
 
10
 
 
11
function i2() {
 
12
        echo "i2\n";
 
13
        return 0;
 
14
}
 
15
 
 
16
function i3() {
 
17
        echo "i3\n";
 
18
        return 0;
 
19
}
 
20
 
 
21
function i4() {
 
22
        echo "i4\n";
 
23
        return 0;
 
24
}
 
25
 
 
26
function i5() {
 
27
        echo "i5\n";
 
28
        return 0;
 
29
}
 
30
 
 
31
function i6() {
 
32
        echo "i6\n";
 
33
        return 0;
 
34
}
 
35
 
 
36
$a = array(array(0));
 
37
$b = array(array(1));
 
38
$c = array(array(2));
 
39
 
 
40
$a[i1()][i2()] = $b[i3()][i4()] = $c[i5()][i6()];
 
41
 
 
42
var_dump($a);
 
43
var_dump($b);
 
44
var_dump($c);
 
45
 
 
46
?>
 
47
--EXPECT--
 
48
i1
 
49
i2
 
50
i3
 
51
i4
 
52
i5
 
53
i6
 
54
array(1) {
 
55
  [0]=>
 
56
  array(1) {
 
57
    [0]=>
 
58
    int(2)
 
59
  }
 
60
}
 
61
array(1) {
 
62
  [0]=>
 
63
  array(1) {
 
64
    [0]=>
 
65
    int(2)
 
66
  }
 
67
}
 
68
array(1) {
 
69
  [0]=>
 
70
  array(1) {
 
71
    [0]=>
 
72
    int(2)
 
73
  }
 
74
}