89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace PhpOffice\PhpSpreadsheetTests\Helper;
 | 
						|
 | 
						|
use PhpOffice\PhpSpreadsheet\Helper\Migrator;
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
 | 
						|
class MigratorTest extends TestCase
 | 
						|
{
 | 
						|
    public function testMappingOnlyContainExistingClasses()
 | 
						|
    {
 | 
						|
        $migrator = new Migrator();
 | 
						|
 | 
						|
        foreach ($migrator->getMapping() as $classname) {
 | 
						|
            if (substr_count($classname, '\\')) {
 | 
						|
                self::assertTrue(class_exists($classname) || interface_exists($classname), 'mapping is wrong, class does not exists in project: ' . $classname);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public function testReplace()
 | 
						|
    {
 | 
						|
        $input = <<<'STRING'
 | 
						|
<?php
 | 
						|
 | 
						|
namespace Foo;
 | 
						|
 | 
						|
use PHPExcel;
 | 
						|
use PHPExcel_Worksheet;
 | 
						|
 | 
						|
class Bar
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @param PHPExcel $workbook
 | 
						|
     * @param PHPExcel_Worksheet $sheet
 | 
						|
     *
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    public function baz(PHPExcel $workbook, PHPExcel_Worksheet $sheet)
 | 
						|
    {
 | 
						|
        PHPExcel::class;
 | 
						|
        \PHPExcel::class;
 | 
						|
        $PHPExcel->do();
 | 
						|
        $fooobjPHPExcel->do();
 | 
						|
        $objPHPExcel->do();
 | 
						|
        $this->objPHPExcel->do();
 | 
						|
        $this->PHPExcel->do();
 | 
						|
 | 
						|
        return \PHPExcel_Cell::stringFromColumnIndex(9);
 | 
						|
    }
 | 
						|
}
 | 
						|
STRING;
 | 
						|
 | 
						|
        $expected = <<<'STRING'
 | 
						|
<?php
 | 
						|
 | 
						|
namespace Foo;
 | 
						|
 | 
						|
use \PhpOffice\PhpSpreadsheet\Spreadsheet;
 | 
						|
use \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
 | 
						|
 | 
						|
class Bar
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @param \PhpOffice\PhpSpreadsheet\Spreadsheet $workbook
 | 
						|
     * @param \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $sheet
 | 
						|
     *
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    public function baz(\PhpOffice\PhpSpreadsheet\Spreadsheet $workbook, \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $sheet)
 | 
						|
    {
 | 
						|
        \PhpOffice\PhpSpreadsheet\Spreadsheet::class;
 | 
						|
        \PhpOffice\PhpSpreadsheet\Spreadsheet::class;
 | 
						|
        $PHPExcel->do();
 | 
						|
        $fooobjPHPExcel->do();
 | 
						|
        $objPHPExcel->do();
 | 
						|
        $this->objPHPExcel->do();
 | 
						|
        $this->PHPExcel->do();
 | 
						|
 | 
						|
        return \PhpOffice\PhpSpreadsheet\Cell\Coordinate::stringFromColumnIndex(9);
 | 
						|
    }
 | 
						|
}
 | 
						|
STRING;
 | 
						|
 | 
						|
        $migrator = new Migrator();
 | 
						|
        self::assertSame($expected, $migrator->replace($input));
 | 
						|
    }
 | 
						|
}
 |