diff options
author | Xinchen Hui <laruence@php.net> | 2014-07-19 17:19:01 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2014-07-19 17:19:01 +0800 |
commit | 8ff00e6e85669ad0a5a47421fe639b6fb6f91669 (patch) | |
tree | 64f38203557426a81dc38b1577beb4e207e64682 /Zend/tests/bug66608.phpt | |
parent | 9ce1a36af2295a75e4244eac3085f82d0c25105d (diff) | |
download | php-git-8ff00e6e85669ad0a5a47421fe639b6fb6f91669.tar.gz |
Improve fix for #66608
Diffstat (limited to 'Zend/tests/bug66608.phpt')
-rw-r--r-- | Zend/tests/bug66608.phpt | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/Zend/tests/bug66608.phpt b/Zend/tests/bug66608.phpt index 6329506d06..5a499a1dab 100644 --- a/Zend/tests/bug66608.phpt +++ b/Zend/tests/bug66608.phpt @@ -5,28 +5,56 @@ Bug #66608 (Incorrect behavior with nested "finally" blocks) function bar() { try { echo "1\n"; + try { + } finally { + try { + } finally { + } + echo "2\n"; + } } finally { try { throw new Exception (""); } catch (Exception $ab) { - echo "2\n"; + echo "3\n"; } finally { try { } finally { - echo "3\n"; + echo "4\n"; try { } finally { } - echo "4\n"; + echo "5\n"; } } - echo "5\n"; + echo "6\n"; try { } finally { - echo "6\n"; + while (1) { + try { + echo "7\n"; + break; + } finally { + echo "8\n"; + } + echo "bad"; + } + echo "9\n"; + while (1) { + try { + throw new Exception(""); + } catch(Exception $e) { + echo "10\n"; + break; + } finally { + echo "11\n"; + } + echo "bak\n"; + } } + echo "12\n"; } - echo "7\n"; + echo "13\n"; } bar(); --EXPECT-- @@ -37,3 +65,9 @@ bar(); 5 6 7 +8 +9 +10 +11 +12 +13 |