radarrplexorganizrnginxsonarrdashboardsabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepage
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							61 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							61 lines
						
					
					
						
							1.8 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace PhpParser\Node\Scalar; | |
| 
 | |
| class StringTest extends \PHPUnit_Framework_TestCase | |
| { | |
|     /** | |
|      * @dataProvider provideTestParseEscapeSequences | |
|      */ | |
|     public function testParseEscapeSequences($expected, $string, $quote) { | |
|         $this->assertSame( | |
|             $expected, | |
|             String_::parseEscapeSequences($string, $quote) | |
|         ); | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider provideTestParse | |
|      */ | |
|     public function testCreate($expected, $string) { | |
|         $this->assertSame( | |
|             $expected, | |
|             String_::parse($string) | |
|         ); | |
|     } | |
| 
 | |
|     public function provideTestParseEscapeSequences() { | |
|         return array( | |
|             array('"',              '\\"',              '"'), | |
|             array('\\"',            '\\"',              '`'), | |
|             array('\\"\\`',         '\\"\\`',           null), | |
|             array("\\\$\n\r\t\f\v", '\\\\\$\n\r\t\f\v', null), | |
|             array("\x1B",           '\e',               null), | |
|             array(chr(255),         '\xFF',             null), | |
|             array(chr(255),         '\377',             null), | |
|             array(chr(0),           '\400',             null), | |
|             array("\0",             '\0',               null), | |
|             array('\xFF',           '\\\\xFF',          null), | |
|         ); | |
|     } | |
| 
 | |
|     public function provideTestParse() { | |
|         $tests = array( | |
|             array('A', '\'A\''), | |
|             array('A', 'b\'A\''), | |
|             array('A', '"A"'), | |
|             array('A', 'b"A"'), | |
|             array('\\', '\'\\\\\''), | |
|             array('\'', '\'\\\'\''), | |
|         ); | |
| 
 | |
|         foreach ($this->provideTestParseEscapeSequences() as $i => $test) { | |
|             // skip second and third tests, they aren't for double quotes | |
|             if ($i != 1 && $i != 2) { | |
|                 $tests[] = array($test[0], '"' . $test[1] . '"'); | |
|             } | |
|         } | |
| 
 | |
|         return $tests; | |
|     } | |
| }
 | |
| 
 |