* @license BSD */ namespace Domframework\Tests; use Domframework\Tcpclient; /** Test the TCP client */ class TcpclientTest extends \PHPUnit_Framework_TestCase { public function test_GoogleIPv4() { $tcpclient = new Tcpclient("www.google.fr", 80); $tcpclient->preferIPv4(true); $tcpclient->connect(); $tcpclient->send("GET / HTTP/1.1\r\n" . "Host: www.google.fr\r\n" . "User-Agent: DomFramework\r\n" . "Accept: *" . "/*\r\n" . "\r\n"); $res = ""; while (($read = $tcpclient->read()) !== "") { $res .= $read . "\r\n"; } $tcpclient->disconnect(); $this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK"); } public function test_GoogleIPv4orIpv6() { $tcpclient = new Tcpclient("www.google.fr", 80); $tcpclient->connect(); $tcpclient->send("GET / HTTP/1.1\r\n" . "Host: www.google.fr\r\n" . "User-Agent: DomFramework\r\n" . "Accept: *" . "/*\r\n" . "\r\n"); $res = ""; while (($read = $tcpclient->read()) !== "") { $res .= $read . "\r\n"; } $tcpclient->disconnect(); $this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK"); } public function test_GoogleSSL() { $tcpclient = new Tcpclient("www.google.fr", 443); $tcpclient->connect(); $tcpclient->cryptoEnable(true); $tcpclient->send("GET / HTTP/1.1\r\n" . "Host: www.google.fr\r\n" . "User-Agent: DomFramework\r\n" . "Accept: *" . "/*\r\n" . "\r\n"); $res = ""; while (($read = $tcpclient->read()) !== "") { $res .= $read . "\r\n"; } $tcpclient->disconnect(); $this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK"); } public function test_GoogleSSLIPv6() { $tcpclient = new Tcpclient("ipv6.google.com", 443); $tcpclient->connect(); $tcpclient->cryptoEnable(true); $tcpclient->send("GET / HTTP/1.1\r\n" . "Host: www.google.fr\r\n" . "User-Agent: DomFramework\r\n" . "Accept: *" . "/*\r\n" . "\r\n"); $res = ""; while (($read = $tcpclient->read()) !== "") { $res .= $read . "\r\n"; } $tcpclient->disconnect(); $this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK"); } }