| <? |
| require "tests.php"; |
| require "exception_order.php"; |
| |
| check::functions(array('a_foo','a_bar','a_foobar','a_barfoo','is_python_builtin')); |
| check::classes(array('A','E1','E2','E3','exception_order','ET_i','ET_d')); |
| check::globals(array('efoovar','foovar','cfoovar','a_sfoovar','a_foovar','a_efoovar')); |
| |
| $a = new A(); |
| try { |
| $a->foo(); |
| } catch (Exception $e) { |
| check::equal($e->getMessage(), 'C++ E1 exception thrown', ''); |
| } |
| |
| try { |
| $a->bar(); |
| } catch (Exception $e) { |
| check::equal($e->getMessage(), 'C++ E2 exception thrown', ''); |
| } |
| |
| try { |
| $a->foobar(); |
| } catch (Exception $e) { |
| check::equal($e->getMessage(), 'postcatch unknown', ''); |
| } |
| |
| try { |
| $a->barfoo(1); |
| } catch (Exception $e) { |
| check::equal($e->getMessage(), 'C++ E1 exception thrown', ''); |
| } |
| |
| try { |
| $a->barfoo(2); |
| } catch (Exception $e) { |
| check::equal($e->getMessage(), 'C++ E2 * exception thrown', ''); |
| } |