1<?php
2
3/**
4 * This file is part of the Phalcon Framework.
5 *
6 * (c) Phalcon Team <team@phalcon.io>
7 *
8 * For the full copyright and license information, please view the LICENSE.txt
9 * file that was distributed with this source code.
10 */
11
12declare(strict_types=1);
13
14namespace Phalcon\Test\Unit\Http\Cookie;
15
16use Phalcon\Http\Cookie;
17use Phalcon\Test\Fixtures\Traits\DiTrait;
18use UnitTester;
19
20class RestoreCest
21{
22    use DiTrait;
23
24    /**
25     * Tests Phalcon\Http\Cookie :: restore()
26     *
27     * @author Phalcon Team <team@phalcon.io>
28     * @since  2018-11-13
29     */
30    public function httpCookieRestore(UnitTester $I)
31    {
32        $I->wantToTest('Http\Cookie - restore()');
33
34        $this->setNewFactoryDefault();
35        $this->setDiService('sessionStream');
36
37        $name     = 'test';
38        $value    = "phalcon";
39        $expire   = time() - 100;
40        $path     = "/";
41        $secure   = true;
42        $domain   = "phalcon.ld";
43        $httpOnly = true;
44        $options  = ["samesite" => "Lax"];
45
46        $cookie = new Cookie(
47            $name,
48            $value,
49            $expire,
50            $path,
51            $secure,
52            $domain,
53            $httpOnly,
54            $options
55        );
56        $cookie->setDI($this->container);
57
58        $I->assertEquals($name, $cookie->getName());
59        $I->assertEquals($value, $cookie->getValue());
60        $I->assertEquals($expire, $cookie->getExpiration());
61        $I->assertEquals($path, $cookie->getPath());
62        $I->assertEquals($secure, $cookie->getSecure());
63        $I->assertEquals($domain, $cookie->getDomain());
64        $I->assertEquals($httpOnly, $cookie->getHttpOnly());
65
66        $cookie->restore();
67
68        $I->assertEquals($name, $cookie->getName());
69        $I->assertEquals($value, $cookie->getValue());
70        $I->assertEquals($expire, $cookie->getExpiration());
71        $I->assertEquals($path, $cookie->getPath());
72        $I->assertEquals($secure, $cookie->getSecure());
73        $I->assertEquals($domain, $cookie->getDomain());
74        $I->assertEquals($httpOnly, $cookie->getHttpOnly());
75    }
76}
77