diff options
author | wei <> | 2006-07-05 07:40:57 +0000 |
---|---|---|
committer | wei <> | 2006-07-05 07:40:57 +0000 |
commit | dfa5aa5fbf11f89ce483c58016465ddc3921f082 (patch) | |
tree | f01dd1c13d700b266695e503b3ebb6e05e591410 /test_tools/simpletest/socket.php | |
parent | b6dfb6c447cf502e694d299dbda1b2e092c3312d (diff) |
move to tests
Diffstat (limited to 'test_tools/simpletest/socket.php')
-rw-r--r-- | test_tools/simpletest/socket.php | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/test_tools/simpletest/socket.php b/test_tools/simpletest/socket.php deleted file mode 100644 index 4c3c592d..00000000 --- a/test_tools/simpletest/socket.php +++ /dev/null @@ -1,216 +0,0 @@ -<?php - /** - * base include file for SimpleTest - * @package SimpleTest - * @subpackage MockObjects - * @version $Id: socket.php,v 1.23 2004/09/30 16:46:31 lastcraft Exp $ - */ - - /**#@+ - * include SimpleTest files - */ - require_once(dirname(__FILE__) . '/options.php'); - /**#@-*/ - - /** - * Stashes an error for later. Useful for constructors - * until PHP gets exceptions. - * @package SimpleTest - * @subpackage WebTester - */ - class SimpleStickyError { - protected $_error = 'Constructor not chained'; - - /** - * Sets the error to empty. - * @access public - */ - function SimpleStickyError() { - $this->_clearError(); - } - - /** - * Test for an outstanding error. - * @return boolean True if there is an error. - * @access public - */ - function isError() { - return ($this->_error != ''); - } - - /** - * Accessor for an outstanding error. - * @return string Empty string if no error otherwise - * the error message. - * @access public - */ - function getError() { - return $this->_error; - } - - /** - * Sets the internal error. - * @param string Error message to stash. - * @access protected - */ - function _setError($error) { - $this->_error = $error; - } - - /** - * Resets the error state to no error. - * @access protected - */ - function _clearError() { - $this->_setError(''); - } - } - - /** - * Wrapper for TCP/IP socket. - * @package SimpleTest - * @subpackage WebTester - */ - class SimpleSocket extends SimpleStickyError { - protected $_handle; - protected $_is_open; - protected $_sent; - - /** - * Opens a socket for reading and writing. - * @param string $host Hostname to send request to. - * @param integer $port Port on remote machine to open. - * @param integer $timeout Connection timeout in seconds. - * @access public - */ - function SimpleSocket($host, $port, $timeout) { - $this->SimpleStickyError(); - $this->_is_open = false; - $this->_sent = ''; - if (! ($this->_handle = $this->_openSocket($host, $port, $error_number, $error, $timeout))) { - $this->_setError("Cannot open [$host:$port] with [$error] within [$timeout] seconds"); - return; - } - $this->_is_open = true; - SimpleTestCompatibility::setTimeout($this->_handle, $timeout); - } - - /** - * Writes some data to the socket and saves alocal copy. - * @param string $message String to send to socket. - * @return boolean True if successful. - * @access public - */ - function write($message) { - if ($this->isError() || ! $this->isOpen()) { - return false; - } - $count = fwrite($this->_handle, $message); - if (! $count) { - if ($count === false) { - $this->_setError('Cannot write to socket'); - $this->close(); - } - return false; - } - fflush($this->_handle); - $this->_sent .= $message; - return true; - } - - /** - * Reads data from the socket. The error suppresion - * is a workaround for PHP4 always throwing a warning - * with a secure socket. - * @param integer $block_size Size of chunk to read. - * @return integer Incoming bytes. False - * on error. - * @access public - */ - function read($block_size = 255) { - if ($this->isError() || ! $this->isOpen()) { - return false; - } - $raw = @fread($this->_handle, $block_size); - if ($raw === false) { - $this->_setError('Cannot read from socket'); - $this->close(); - } - return $raw; - } - - /** - * Accessor for socket open state. - * @return boolean True if open. - * @access public - */ - function isOpen() { - return $this->_is_open; - } - - /** - * Closes the socket preventing further reads. - * Cannot be reopened once closed. - * @return boolean True if successful. - * @access public - */ - function close() { - $this->_is_open = false; - return fclose($this->_handle); - } - - /** - * Accessor for content so far. - * @return string Bytes sent only. - * @access public - */ - function getSent() { - return $this->_sent; - } - - /** - * Actually opens the low level socket. - * @param string $host Host to connect to. - * @param integer $port Port on host. - * @param integer $error_number Recipient of error code. - * @param string $error Recipoent of error message. - * @param integer $timeout Maximum time to wait for connection. - * @access protected - */ - function _openSocket($host, $port, $error_number, $error, $timeout) { - return @fsockopen($host, $port, $error_number, $error, $timeout); - } - } - - /** - * Wrapper for TCP/IP socket over TLS. - * @package SimpleTest - * @subpackage WebTester - */ - class SimpleSecureSocket extends SimpleSocket { - - /** - * Opens a secure socket for reading and writing. - * @param string $host Hostname to send request to. - * @param integer $port Port on remote machine to open. - * @param integer $timeout Connection timeout in seconds. - * @access public - */ - function SimpleSecureSocket($host, $port, $timeout) { - $this->SimpleSocket($host, $port, $timeout); - } - - /** - * Actually opens the low level socket. - * @param string $host Host to connect to. - * @param integer $port Port on host. - * @param integer $error_number Recipient of error code. - * @param string $error Recipient of error message. - * @param integer $timeout Maximum time to wait for connection. - * @access protected - */ - function _openSocket($host, $port, $error_number, $error, $timeout) { - return parent::_openSocket("tls://$host", $port, $error_number, $error, $timeout); - } - } -?>
\ No newline at end of file |