Security update for Core, with self-updated composer
[yaffs-website] / vendor / symfony / var-dumper / Tests / Caster / SplCasterTest.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\VarDumper\Tests\Caster;
13
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\VarDumper\Test\VarDumperTestTrait;
16
17 /**
18  * @author Grégoire Pineau <lyrixx@lyrixx.info>
19  */
20 class SplCasterTest extends TestCase
21 {
22     use VarDumperTestTrait;
23
24     public function getCastFileInfoTests()
25     {
26         return array(
27             array(__FILE__, <<<'EOTXT'
28 SplFileInfo {
29 %Apath: "%sCaster"
30   filename: "SplCasterTest.php"
31   basename: "SplCasterTest.php"
32   pathname: "%sSplCasterTest.php"
33   extension: "php"
34   realPath: "%sSplCasterTest.php"
35   aTime: %s-%s-%d %d:%d:%d
36   mTime: %s-%s-%d %d:%d:%d
37   cTime: %s-%s-%d %d:%d:%d
38   inode: %d
39   size: %d
40   perms: 0%d
41   owner: %d
42   group: %d
43   type: "file"
44   writable: true
45   readable: true
46   executable: false
47   file: true
48   dir: false
49   link: false
50 %A}
51 EOTXT
52             ),
53             array('https://google.com/about', <<<'EOTXT'
54 SplFileInfo {
55 %Apath: "https://google.com"
56   filename: "about"
57   basename: "about"
58   pathname: "https://google.com/about"
59   extension: ""
60   realPath: false
61 %A}
62 EOTXT
63             ),
64         );
65     }
66
67     /** @dataProvider getCastFileInfoTests */
68     public function testCastFileInfo($file, $dump)
69     {
70         $this->assertDumpMatchesFormat($dump, new \SplFileInfo($file));
71     }
72
73     public function testCastFileObject()
74     {
75         $var = new \SplFileObject(__FILE__);
76         $var->setFlags(\SplFileObject::DROP_NEW_LINE | \SplFileObject::SKIP_EMPTY);
77         $dump = <<<'EOTXT'
78 SplFileObject {
79 %Apath: "%sCaster"
80   filename: "SplCasterTest.php"
81   basename: "SplCasterTest.php"
82   pathname: "%sSplCasterTest.php"
83   extension: "php"
84   realPath: "%sSplCasterTest.php"
85   aTime: %s-%s-%d %d:%d:%d
86   mTime: %s-%s-%d %d:%d:%d
87   cTime: %s-%s-%d %d:%d:%d
88   inode: %d
89   size: %d
90   perms: 0%d
91   owner: %d
92   group: %d
93   type: "file"
94   writable: true
95   readable: true
96   executable: false
97   file: true
98   dir: false
99   link: false
100 %AcsvControl: array:%d [
101     0 => ","
102     1 => """
103 %A]
104   flags: DROP_NEW_LINE|SKIP_EMPTY
105   maxLineLen: 0
106   fstat: array:26 [
107     "dev" => %d
108     "ino" => %d
109     "nlink" => %d
110     "rdev" => 0
111     "blksize" => %i
112     "blocks" => %i
113      …20
114   ]
115   eof: false
116   key: 0
117 }
118 EOTXT;
119         $this->assertDumpMatchesFormat($dump, $var);
120     }
121
122     /**
123      * @dataProvider provideCastSplDoublyLinkedList
124      */
125     public function testCastSplDoublyLinkedList($modeValue, $modeDump)
126     {
127         $var = new \SplDoublyLinkedList();
128         $var->setIteratorMode($modeValue);
129         $dump = <<<EOTXT
130 SplDoublyLinkedList {
131 %Amode: $modeDump
132   dllist: []
133 }
134 EOTXT;
135         $this->assertDumpMatchesFormat($dump, $var);
136     }
137
138     public function provideCastSplDoublyLinkedList()
139     {
140         return array(
141             array(\SplDoublyLinkedList::IT_MODE_FIFO, 'IT_MODE_FIFO | IT_MODE_KEEP'),
142             array(\SplDoublyLinkedList::IT_MODE_LIFO, 'IT_MODE_LIFO | IT_MODE_KEEP'),
143             array(\SplDoublyLinkedList::IT_MODE_FIFO | \SplDoublyLinkedList::IT_MODE_DELETE, 'IT_MODE_FIFO | IT_MODE_DELETE'),
144             array(\SplDoublyLinkedList::IT_MODE_LIFO | \SplDoublyLinkedList::IT_MODE_DELETE, 'IT_MODE_LIFO | IT_MODE_DELETE'),
145         );
146     }
147 }