radarrplexorganizrnginxsonarrdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							115 lines
						
					
					
						
							3.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							115 lines
						
					
					
						
							3.8 KiB
						
					
					
				
								<?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\HttpKernel\Tests\DataCollector;
							 | 
						|
								
							 | 
						|
								use PHPUnit\Framework\TestCase;
							 | 
						|
								use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
							 | 
						|
								use Symfony\Component\HttpFoundation\Request;
							 | 
						|
								use Symfony\Component\HttpFoundation\Response;
							 | 
						|
								use Symfony\Component\VarDumper\Cloner\Data;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * @author Nicolas Grekas <p@tchwork.com>
							 | 
						|
								 */
							 | 
						|
								class DumpDataCollectorTest extends TestCase
							 | 
						|
								{
							 | 
						|
								    public function testDump()
							 | 
						|
								    {
							 | 
						|
								        $data = new Data(array(array(123)));
							 | 
						|
								
							 | 
						|
								        $collector = new DumpDataCollector();
							 | 
						|
								
							 | 
						|
								        $this->assertSame('dump', $collector->getName());
							 | 
						|
								
							 | 
						|
								        $collector->dump($data);
							 | 
						|
								        $line = __LINE__ - 1;
							 | 
						|
								        $this->assertSame(1, $collector->getDumpsCount());
							 | 
						|
								
							 | 
						|
								        $dump = $collector->getDumps('html');
							 | 
						|
								        $this->assertArrayHasKey('data', $dump[0]);
							 | 
						|
								        $dump[0]['data'] = preg_replace('/^.*?<pre/', '<pre', $dump[0]['data']);
							 | 
						|
								        $dump[0]['data'] = preg_replace('/sf-dump-\d+/', 'sf-dump', $dump[0]['data']);
							 | 
						|
								
							 | 
						|
								        $xDump = array(
							 | 
						|
								            array(
							 | 
						|
								                'data' => "<pre class=sf-dump id=sf-dump data-indent-pad=\"  \"><span class=sf-dump-num>123</span>\n</pre><script>Sfdump(\"sf-dump\")</script>\n",
							 | 
						|
								                'name' => 'DumpDataCollectorTest.php',
							 | 
						|
								                'file' => __FILE__,
							 | 
						|
								                'line' => $line,
							 | 
						|
								                'fileExcerpt' => false,
							 | 
						|
								            ),
							 | 
						|
								        );
							 | 
						|
								        $this->assertEquals($xDump, $dump);
							 | 
						|
								
							 | 
						|
								        $this->assertStringMatchesFormat('a:3:{i:0;a:5:{s:4:"data";%c:39:"Symfony\Component\VarDumper\Cloner\Data":%a', $collector->serialize());
							 | 
						|
								        $this->assertSame(0, $collector->getDumpsCount());
							 | 
						|
								        $this->assertSame('a:2:{i:0;b:0;i:1;s:5:"UTF-8";}', $collector->serialize());
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testCollectDefault()
							 | 
						|
								    {
							 | 
						|
								        $data = new Data(array(array(123)));
							 | 
						|
								
							 | 
						|
								        $collector = new DumpDataCollector();
							 | 
						|
								
							 | 
						|
								        $collector->dump($data);
							 | 
						|
								        $line = __LINE__ - 1;
							 | 
						|
								
							 | 
						|
								        ob_start();
							 | 
						|
								        $collector->collect(new Request(), new Response());
							 | 
						|
								        $output = ob_get_clean();
							 | 
						|
								
							 | 
						|
								        $this->assertSame("DumpDataCollectorTest.php on line {$line}:\n123\n", $output);
							 | 
						|
								        $this->assertSame(1, $collector->getDumpsCount());
							 | 
						|
								        $collector->serialize();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testCollectHtml()
							 | 
						|
								    {
							 | 
						|
								        $data = new Data(array(array(123)));
							 | 
						|
								
							 | 
						|
								        $collector = new DumpDataCollector(null, 'test://%f:%l');
							 | 
						|
								
							 | 
						|
								        $collector->dump($data);
							 | 
						|
								        $line = __LINE__ - 1;
							 | 
						|
								        $file = __FILE__;
							 | 
						|
								        $xOutput = <<<EOTXT
							 | 
						|
								<pre class=sf-dump id=sf-dump data-indent-pad="  "><a href="test://{$file}:{$line}" title="{$file}"><span class=sf-dump-meta>DumpDataCollectorTest.php</span></a> on line <span class=sf-dump-meta>{$line}</span>:
							 | 
						|
								<span class=sf-dump-num>123</span>
							 | 
						|
								</pre>
							 | 
						|
								EOTXT;
							 | 
						|
								
							 | 
						|
								        ob_start();
							 | 
						|
								        $response = new Response();
							 | 
						|
								        $response->headers->set('Content-Type', 'text/html');
							 | 
						|
								        $collector->collect(new Request(), $response);
							 | 
						|
								        $output = ob_get_clean();
							 | 
						|
								        $output = preg_replace('#<(script|style).*?</\1>#s', '', $output);
							 | 
						|
								        $output = preg_replace('/sf-dump-\d+/', 'sf-dump', $output);
							 | 
						|
								
							 | 
						|
								        $this->assertSame($xOutput, trim($output));
							 | 
						|
								        $this->assertSame(1, $collector->getDumpsCount());
							 | 
						|
								        $collector->serialize();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testFlush()
							 | 
						|
								    {
							 | 
						|
								        $data = new Data(array(array(456)));
							 | 
						|
								        $collector = new DumpDataCollector();
							 | 
						|
								        $collector->dump($data);
							 | 
						|
								        $line = __LINE__ - 1;
							 | 
						|
								
							 | 
						|
								        ob_start();
							 | 
						|
								        $collector->__destruct();
							 | 
						|
								        $this->assertSame("DumpDataCollectorTest.php on line {$line}:\n456\n", ob_get_clean());
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |