annotate vendor/symfony/var-dumper/Tests/Caster/SplCasterTest.php @ 8:50b0d041100e

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