diff options
author | Timm Friebe <thekid@php.net> | 2004-07-11 16:10:03 +0000 |
---|---|---|
committer | Timm Friebe <thekid@php.net> | 2004-07-11 16:10:03 +0000 |
commit | d6c0fdfd2fbbd605417d6b790e085cf64001850b (patch) | |
tree | b13efa5bf4ed7260d0861cc68604c578d916fe19 | |
parent | 4ebcb2ecfecc55967d96f0c911b92b980be1b284 (diff) | |
download | php-git-d6c0fdfd2fbbd605417d6b790e085cf64001850b.tar.gz |
- Initial release
-rw-r--r-- | ext/sybase_ct/tests/test_fetch_object.phpt | 74 | ||||
-rw-r--r-- | ext/sybase_ct/tests/test_msghandler_handled.phpt | 69 |
2 files changed, 143 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 0000000000..aba5ea938d --- /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-- +class stdClass { + %s $id = 1; + %s $caption = 'Hello'; + %s $author = 'timm'; + %s $lastchange = '%s'; +} +class article { + %s $id = 1; + %s $caption = 'Hello'; + %s $author = 'timm'; + %s $lastchange = '%s'; +} +class article { + %s $id = 1; + %s $caption = 'Hello'; + %s $author = 'timm'; + %s $lastchange = '%s'; +} + +Notice: sybase_fetch_object(): Sybase: Class *** has not been declared in %s/test_fetch_object.php on line %d +class stdClass { + %s $id = 1; + %s $caption = 'Hello'; + %s $author = 'timm'; + %s $lastchange = '%s'; +} diff --git a/ext/sybase_ct/tests/test_msghandler_handled.phpt b/ext/sybase_ct/tests/test_msghandler_handled.phpt new file mode 100644 index 0000000000..c9ccc1ddeb --- /dev/null +++ b/ext/sybase_ct/tests/test_msghandler_handled.phpt @@ -0,0 +1,69 @@ +--TEST-- +Sybase-CT server message handler +--SKIPIF-- +<?php require('skipif.inc'); ?> +--FILE-- +<?php +/* This file is part of PHP test framework for ext/sybase_ct + * + * $Id$ + */ + + require('test.inc'); + + // {{{ bool sybase_msg_handler(int msgnumber, int severity, int state, int line, string text) + // Handles server messages + function user_message_handler($msgnumber, $severity, $state, $line, $text) { + switch ($msgnumber) { + case 0: // print message + printf("!!! %s\n", trim($text)); + return; + + case 174: // The function 'GETDATE' requires 0 arguments. + printf("*** Caught '%s'\n", trim($text)); + return; + } + printf("Cannot handle message #%d\n", $msgnumber); + return FALSE; // Indicate we can't handle this + } + // }}} + + sybase_set_messagehandler_ex('user_message_handler'); + $db= sybase_connect_ex(); + sybase_min_server_severity(0); + + // These are handled + var_dump(sybase_select_ex($db, 'select getdate(NULL)')); + var_dump(sybase_select_ex($db, 'print "Hi"')); + + // These aren't + var_dump(sybase_select_ex($db, 'use NULL')); + var_dump(sybase_select_ex($db, 'select convert(datetime, "notadate")')); + + sybase_close($db); +?> +--EXPECTF-- +bool(true) +>>> Query: select getdate(NULL) +*** Caught 'The function 'GETDATE' requires 0 arguments.' +<<< Return: boolean +bool(false) +>>> Query: print "Hi" +!!! Hi +<<< Return: boolean +bool(true) +>>> Query: use NULL +Cannot handle message #156 + +Warning: sybase_query(): Sybase: Server message: Incorrect syntax near the keyword 'NULL'. + (severity 15, procedure N/A) in %s on line %d +<<< Return: boolean +bool(false) +>>> Query: select convert(datetime, "notadate") +Cannot handle message #249 + +Warning: sybase_query(): Sybase: Server message: Syntax error during explicit conversion of VARCHAR value 'notadate' to a DATETIME field. + (severity 16, procedure N/A) in %s on line %d +<<< Return: resource +array(0) { +} |