| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\BrowserKit\Tests;use PHPUnit\Framework\TestCase;use Symfony\Component\BrowserKit\History;use Symfony\Component\BrowserKit\Request;class HistoryTest extends TestCase{    public function testAdd()    {        $history = new History();        $history->add(new Request('http://www.example1.com/', 'get'));        $this->assertSame('http://www.example1.com/', $history->current()->getUri(), '->add() adds a request to the history');        $history->add(new Request('http://www.example2.com/', 'get'));        $this->assertSame('http://www.example2.com/', $history->current()->getUri(), '->add() adds a request to the history');        $history->add(new Request('http://www.example3.com/', 'get'));        $history->back();        $history->add(new Request('http://www.example4.com/', 'get'));        $this->assertSame('http://www.example4.com/', $history->current()->getUri(), '->add() adds a request to the history');        $history->back();        $this->assertSame('http://www.example2.com/', $history->current()->getUri(), '->add() adds a request to the history');    }    public function testClearIsEmpty()    {        $history = new History();        $history->add(new Request('http://www.example.com/', 'get'));        $this->assertFalse($history->isEmpty(), '->isEmpty() returns false if the history is not empty');        $history->clear();        $this->assertTrue($history->isEmpty(), '->isEmpty() true if the history is empty');    }    public function testCurrent()    {        $history = new History();        try {            $history->current();            $this->fail('->current() throws a \LogicException if the history is empty');        } catch (\Exception $e) {            $this->assertInstanceOf('LogicException', $e, '->current() throws a \LogicException if the history is empty');        }        $history->add(new Request('http://www.example.com/', 'get'));        $this->assertSame('http://www.example.com/', $history->current()->getUri(), '->current() returns the current request in the history');    }    public function testBack()    {        $history = new History();        $history->add(new Request('http://www.example.com/', 'get'));        try {            $history->back();            $this->fail('->back() throws a \LogicException if the history is already on the first page');        } catch (\Exception $e) {            $this->assertInstanceOf('LogicException', $e, '->current() throws a \LogicException if the history is already on the first page');        }        $history->add(new Request('http://www.example1.com/', 'get'));        $history->back();        $this->assertSame('http://www.example.com/', $history->current()->getUri(), '->back() returns the previous request in the history');    }    public function testForward()    {        $history = new History();        $history->add(new Request('http://www.example.com/', 'get'));        $history->add(new Request('http://www.example1.com/', 'get'));        try {            $history->forward();            $this->fail('->forward() throws a \LogicException if the history is already on the last page');        } catch (\Exception $e) {            $this->assertInstanceOf('LogicException', $e, '->forward() throws a \LogicException if the history is already on the last page');        }        $history->back();        $history->forward();        $this->assertSame('http://www.example1.com/', $history->current()->getUri(), '->forward() returns the next request in the history');    }}
 |