mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 10:56:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Pterodactyl\Tests\Unit\Helpers;
 | 
						|
 | 
						|
use Pterodactyl\Tests\TestCase;
 | 
						|
use Pterodactyl\Traits\Commands\EnvironmentWriterTrait;
 | 
						|
 | 
						|
class EnvironmentWriterTraitTest extends TestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @dataProvider variableDataProvider
 | 
						|
     */
 | 
						|
    public function testVariableIsEscapedProperly($input, $expected)
 | 
						|
    {
 | 
						|
        $output = (new FooClass())->escapeEnvironmentValue($input);
 | 
						|
 | 
						|
        $this->assertSame($expected, $output);
 | 
						|
    }
 | 
						|
 | 
						|
    public function variableDataProvider(): array
 | 
						|
    {
 | 
						|
        return [
 | 
						|
            ['foo', 'foo'],
 | 
						|
            ['abc123', 'abc123'],
 | 
						|
            ['val"ue', '"val\"ue"'],
 | 
						|
            ['my test value', '"my test value"'],
 | 
						|
            ['mysql_p@assword', '"mysql_p@assword"'],
 | 
						|
            ['mysql_p#assword', '"mysql_p#assword"'],
 | 
						|
            ['mysql p@$$word', '"mysql p@$$word"'],
 | 
						|
            ['mysql p%word', '"mysql p%word"'],
 | 
						|
            ['mysql p#word', '"mysql p#word"'],
 | 
						|
            ['abc_@#test', '"abc_@#test"'],
 | 
						|
            ['test 123 $$$', '"test 123 $$$"'],
 | 
						|
            ['#password%', '"#password%"'],
 | 
						|
            ['$pass ', '"$pass "'],
 | 
						|
        ];
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
class FooClass
 | 
						|
{
 | 
						|
    use EnvironmentWriterTrait;
 | 
						|
}
 |