cookies_test.php.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 227 行

SVN-BASE
227
字号
<?php// $Id: cookies_test.php 1506 2007-05-07 00:58:03Z lastcraft $require_once(dirname(__FILE__) . '/../autorun.php');require_once(dirname(__FILE__) . '/../cookies.php');class TestOfCookie extends UnitTestCase {        function testCookieDefaults() {        $cookie = new SimpleCookie("name");        $this->assertFalse($cookie->getValue());        $this->assertEqual($cookie->getPath(), "/");        $this->assertIdentical($cookie->getHost(), false);        $this->assertFalse($cookie->getExpiry());        $this->assertFalse($cookie->isSecure());    }        function testCookieAccessors() {        $cookie = new SimpleCookie(                "name",                "value",                "/path",                "Mon, 18 Nov 2002 15:50:29 GMT",                true);        $this->assertEqual($cookie->getName(), "name");        $this->assertEqual($cookie->getValue(), "value");        $this->assertEqual($cookie->getPath(), "/path/");        $this->assertEqual($cookie->getExpiry(), "Mon, 18 Nov 2002 15:50:29 GMT");        $this->assertTrue($cookie->isSecure());    }        function testFullHostname() {        $cookie = new SimpleCookie("name");        $this->assertTrue($cookie->setHost("host.name.here"));        $this->assertEqual($cookie->getHost(), "host.name.here");        $this->assertTrue($cookie->setHost("host.com"));        $this->assertEqual($cookie->getHost(), "host.com");    }        function testHostTruncation() {        $cookie = new SimpleCookie("name");        $cookie->setHost("this.host.name.here");        $this->assertEqual($cookie->getHost(), "host.name.here");        $cookie->setHost("this.host.com");        $this->assertEqual($cookie->getHost(), "host.com");        $this->assertTrue($cookie->setHost("dashes.in-host.com"));        $this->assertEqual($cookie->getHost(), "in-host.com");    }        function testBadHosts() {        $cookie = new SimpleCookie("name");        $this->assertFalse($cookie->setHost("gibberish"));        $this->assertFalse($cookie->setHost("host.here"));        $this->assertFalse($cookie->setHost("host..com"));        $this->assertFalse($cookie->setHost("..."));        $this->assertFalse($cookie->setHost("host.com."));    }        function testHostValidity() {        $cookie = new SimpleCookie("name");        $cookie->setHost("this.host.name.here");        $this->assertTrue($cookie->isValidHost("host.name.here"));        $this->assertTrue($cookie->isValidHost("that.host.name.here"));        $this->assertFalse($cookie->isValidHost("bad.host"));        $this->assertFalse($cookie->isValidHost("nearly.name.here"));    }        function testPathValidity() {        $cookie = new SimpleCookie("name", "value", "/path");        $this->assertFalse($cookie->isValidPath("/"));        $this->assertTrue($cookie->isValidPath("/path/"));        $this->assertTrue($cookie->isValidPath("/path/more"));    }        function testSessionExpiring() {        $cookie = new SimpleCookie("name", "value", "/path");        $this->assertTrue($cookie->isExpired(0));    }        function testTimestampExpiry() {        $cookie = new SimpleCookie("name", "value", "/path", 456);        $this->assertFalse($cookie->isExpired(0));        $this->assertTrue($cookie->isExpired(457));        $this->assertFalse($cookie->isExpired(455));    }        function testDateExpiry() {        $cookie = new SimpleCookie(                "name",                "value",                "/path",                "Mon, 18 Nov 2002 15:50:29 GMT");        $this->assertTrue($cookie->isExpired("Mon, 18 Nov 2002 15:50:30 GMT"));        $this->assertFalse($cookie->isExpired("Mon, 18 Nov 2002 15:50:28 GMT"));    }        function testAging() {        $cookie = new SimpleCookie("name", "value", "/path", 200);        $cookie->agePrematurely(199);        $this->assertFalse($cookie->isExpired(0));        $cookie->agePrematurely(2);        $this->assertTrue($cookie->isExpired(0));    }}class TestOfCookieJar extends UnitTestCase {        function testAddCookie() {        $jar = new SimpleCookieJar();        $jar->setCookie("a", "A");        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=A'));    }        function testHostFilter() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'A', 'my-host.com');        $jar->setCookie('b', 'B', 'another-host.com');        $jar->setCookie('c', 'C');        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('my-host.com')),                array('a=A', 'c=C'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('another-host.com')),                array('b=B', 'c=C'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('www.another-host.com')),                array('b=B', 'c=C'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('new-host.org')),                array('c=C'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('/')),                array('a=A', 'b=B', 'c=C'));    }        function testPathFilter() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'A', false, '/path/');        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array());        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/elsewhere')), array());        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/')), array('a=A'));        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path')), array('a=A'));        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/pa')), array());        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/here')), array('a=A'));    }        function testPathFilterDeeply() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'A', false, '/path/more_path/');        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/')), array());        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path')), array());        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/pa')), array());        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/more_path/')), array('a=A'));        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/more_path/and_more')), array('a=A'));        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/not_here/')), array());    }        function testMultipleCookieWithDifferentPathsButSameName() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'abc', false, '/');        $jar->setCookie('a', '123', false, '/path/here/');        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('/')),                array('a=abc'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('my-host.com/')),                array('a=abc'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('my-host.com/path/')),                array('a=abc'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('my-host.com/path/here')),                array('a=abc', 'a=123'));        $this->assertEqual(                $jar->selectAsPairs(new SimpleUrl('my-host.com/path/here/there')),                array('a=abc', 'a=123'));    }        function testOverwrite() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'abc', false, '/');        $jar->setCookie('a', 'cde', false, '/');        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=cde'));    }        function testClearSessionCookies() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'A', false, '/');        $jar->restartSession();        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array());    }        function testExpiryFilterByDate() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'A', false, '/', 'Wed, 25-Dec-02 04:24:20 GMT');        $jar->restartSession("Wed, 25-Dec-02 04:24:19 GMT");        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=A'));        $jar->restartSession("Wed, 25-Dec-02 04:24:21 GMT");        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array());    }        function testExpiryFilterByAgeing() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'A', false, '/', 'Wed, 25-Dec-02 04:24:20 GMT');        $jar->restartSession("Wed, 25-Dec-02 04:24:19 GMT");        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=A'));        $jar->agePrematurely(2);        $jar->restartSession("Wed, 25-Dec-02 04:24:19 GMT");        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array());    }        function testCookieClearing() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'abc', false, '/');        $jar->setCookie('a', '', false, '/');        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a='));    }        function testCookieClearByLoweringDate() {        $jar = new SimpleCookieJar();        $jar->setCookie('a', 'abc', false, '/', 'Wed, 25-Dec-02 04:24:21 GMT');        $jar->setCookie('a', 'def', false, '/', 'Wed, 25-Dec-02 04:24:19 GMT');        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=def'));        $jar->restartSession('Wed, 25-Dec-02 04:24:20 GMT');        $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array());    }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?