diff options
Diffstat (limited to 'ext/sybase_ct/tests/test_fetch_object.phpt')
-rw-r--r-- | ext/sybase_ct/tests/test_fetch_object.phpt | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/ext/sybase_ct/tests/test_fetch_object.phpt b/ext/sybase_ct/tests/test_fetch_object.phpt new file mode 100644 index 0000000..c23658f --- /dev/null +++ b/ext/sybase_ct/tests/test_fetch_object.phpt @@ -0,0 +1,74 @@ +--TEST-- +Sybase-CT sybase_fetch_object +--SKIPIF-- +<?php + require('skipif.inc'); +?> +--FILE-- +<?php +/* This file is part of PHP test framework for ext/sybase_ct + * + * $Id$ + */ + + require('test.inc'); + + // {{{ class article + class article { } + // }}} + + // {{{ resource fetch_object(resource db, [mixed arg= NULL]) + // Fetches a resultset and returns it as an object + function fetch_object($db, $arg= NULL) { + return sybase_fetch_object(sybase_query('select + 1 as "id", + "Hello" as "caption", + "timm" as "author", + getdate() as "lastchange" + ', $db), $arg); + } + // }}} + + $db= sybase_connect_ex(); + + // Test with stdClass + var_export(fetch_object($db)); echo "\n"; + + // Test with userland class + var_export(fetch_object($db, 'article')); echo "\n"; + + // Test with object + var_export(fetch_object($db, new article())); echo "\n"; + + // Test with non-existant class + var_export(fetch_object($db, '***')); echo "\n"; + + sybase_close($db); +?> +--EXPECTF-- +stdClass::__set_state(array( + 'id' => 1, + 'caption' => 'Hello', + 'author' => 'timm', + 'lastchange' => '%s', +)) +article::__set_state(array( + 'id' => 1, + 'caption' => 'Hello', + 'author' => 'timm', + 'lastchange' => '%s', +)) +article::__set_state(array( + 'id' => 1, + 'caption' => 'Hello', + 'author' => 'timm', + 'lastchange' => '%s', +)) + +Notice: sybase_fetch_object(): Sybase: Class *** has not been declared in %stest_fetch_object.php on line %d +stdClass::__set_state(array( + 'id' => 1, + 'caption' => 'Hello', + 'author' => 'timm', + 'lastchange' => '%s', +)) |