authentication_test.php.svn-base

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

SVN-BASE
145
字号
<?php// $Id: authentication_test.php 1505 2007-04-30 23:39:59Z lastcraft $require_once(dirname(__FILE__) . '/../autorun.php');require_once(dirname(__FILE__) . '/../authentication.php');require_once(dirname(__FILE__) . '/../http.php');Mock::generate('SimpleHttpRequest');class TestOfRealm extends UnitTestCase {        function testWithinSameUrl() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/hello.html'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/hello.html')));    }        function testInsideWithLongerUrl() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/hello.html')));    }        function testBelowRootIsOutside() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/more/hello.html')));    }        function testOldNetscapeDefinitionIsOutside() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/'));        $this->assertFalse($realm->isWithin(                new SimpleUrl('http://www.here.com/pathmore/hello.html')));    }        function testInsideWithMissingTrailingSlash() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path')));    }        function testDifferentPageNameStillInside() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/hello.html'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/goodbye.html')));    }        function testNewUrlInSameDirectoryDoesNotChangeRealm() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/hello.html'));        $realm->stretch(new SimpleUrl('http://www.here.com/path/goodbye.html'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/index.html')));        $this->assertFalse($realm->isWithin(                new SimpleUrl('http://www.here.com/index.html')));    }        function testNewUrlMakesRealmTheCommonPath() {        $realm = &new SimpleRealm(                'Basic',                new SimpleUrl('http://www.here.com/path/here/hello.html'));        $realm->stretch(new SimpleUrl('http://www.here.com/path/there/goodbye.html'));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/here/index.html')));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/there/index.html')));        $this->assertTrue($realm->isWithin(                new SimpleUrl('http://www.here.com/path/index.html')));        $this->assertFalse($realm->isWithin(                new SimpleUrl('http://www.here.com/index.html')));        $this->assertFalse($realm->isWithin(                new SimpleUrl('http://www.here.com/paths/index.html')));        $this->assertFalse($realm->isWithin(                new SimpleUrl('http://www.here.com/pathindex.html')));    }}class TestOfAuthenticator extends UnitTestCase {        function testNoRealms() {        $request = &new MockSimpleHttpRequest();        $request->expectNever('addHeaderLine');        $authenticator = &new SimpleAuthenticator();        $authenticator->addHeaders($request, new SimpleUrl('http://here.com/'));    }        function &createSingleRealm() {        $authenticator = &new SimpleAuthenticator();        $authenticator->addRealm(                new SimpleUrl('http://www.here.com/path/hello.html'),                'Basic',                'Sanctuary');        $authenticator->setIdentityForRealm('www.here.com', 'Sanctuary', 'test', 'secret');        return $authenticator;    }        function testOutsideRealm() {        $request = &new MockSimpleHttpRequest();        $request->expectNever('addHeaderLine');        $authenticator = &$this->createSingleRealm();        $authenticator->addHeaders(                $request,                new SimpleUrl('http://www.here.com/hello.html'));    }        function testWithinRealm() {        $request = &new MockSimpleHttpRequest();        $request->expectOnce('addHeaderLine');        $authenticator = &$this->createSingleRealm();        $authenticator->addHeaders(                $request,                new SimpleUrl('http://www.here.com/path/more/hello.html'));    }        function testRestartingClearsRealm() {        $request = &new MockSimpleHttpRequest();        $request->expectNever('addHeaderLine');        $authenticator = &$this->createSingleRealm();        $authenticator->restartSession();        $authenticator->addHeaders(                $request,                new SimpleUrl('http://www.here.com/hello.html'));    }        function testDifferentHostIsOutsideRealm() {        $request = &new MockSimpleHttpRequest();        $request->expectNever('addHeaderLine');        $authenticator = &$this->createSingleRealm();        $authenticator->addHeaders(                $request,                new SimpleUrl('http://here.com/path/hello.html'));    }}?>

⌨️ 快捷键说明

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