| @@ 77-119 (lines=43) @@ | ||
| 74 | /** |
|
| 75 | * Tests that `processClassmap` scans PSR-4 packages when requested. |
|
| 76 | */ |
|
| 77 | public function test_process_classmap_scans_psr_packages_when_requested() { |
|
| 78 | $classmap_scanner = function ( $path, $class_blacklist, $namespace ) { |
|
| 79 | $this->assertEquals( 'src', $path ); |
|
| 80 | $this->assertNull( $class_blacklist ); |
|
| 81 | $this->assertEquals( 'Jetpack\\Autoloader\\', $namespace ); |
|
| 82 | ||
| 83 | return array( |
|
| 84 | 'TestClass' => 'src/TestClass.php', |
|
| 85 | 'TestClass2' => 'src/TestClass2.php', |
|
| 86 | ); |
|
| 87 | }; |
|
| 88 | $path_code_transformer = function ( $path ) { |
|
| 89 | return 'converted2-' . $path; |
|
| 90 | }; |
|
| 91 | $processor = new AutoloadProcessor( $classmap_scanner, $path_code_transformer ); |
|
| 92 | ||
| 93 | $autoloads = array( |
|
| 94 | 'psr-4' => array( |
|
| 95 | 'Jetpack\\Autoloader\\' => array( |
|
| 96 | array( |
|
| 97 | 'path' => 'src', |
|
| 98 | 'version' => 'dev-test2', |
|
| 99 | ), |
|
| 100 | ), |
|
| 101 | ), |
|
| 102 | ); |
|
| 103 | ||
| 104 | $processed = $processor->processClassmap( $autoloads, true ); |
|
| 105 | ||
| 106 | $this->assertEquals( |
|
| 107 | array( |
|
| 108 | 'TestClass' => array( |
|
| 109 | 'version' => 'dev-test2', |
|
| 110 | 'path' => 'converted2-src/TestClass.php', |
|
| 111 | ), |
|
| 112 | 'TestClass2' => array( |
|
| 113 | 'version' => 'dev-test2', |
|
| 114 | 'path' => 'converted2-src/TestClass2.php', |
|
| 115 | ), |
|
| 116 | ), |
|
| 117 | $processed |
|
| 118 | ); |
|
| 119 | } |
|
| 120 | ||
| 121 | /** |
|
| 122 | * Tests that `processClassmap` passes the blacklist correctly when given one. |
|
| @@ 124-166 (lines=43) @@ | ||
| 121 | /** |
|
| 122 | * Tests that `processClassmap` passes the blacklist correctly when given one. |
|
| 123 | */ |
|
| 124 | public function test_process_classmap_uses_blacklist() { |
|
| 125 | $classmap_scanner = function ( $path, $class_blacklist, $namespace ) { |
|
| 126 | $this->assertEquals( 'src', $path ); |
|
| 127 | $this->assertEquals( '{(TestClass)}', $class_blacklist ); |
|
| 128 | $this->assertNull( $namespace ); |
|
| 129 | ||
| 130 | return array( |
|
| 131 | 'TestClass' => 'src/TestClass.php', |
|
| 132 | 'TestClass2' => 'src/TestClass2.php', |
|
| 133 | ); |
|
| 134 | }; |
|
| 135 | $path_code_transformer = function ( $path ) { |
|
| 136 | return 'converted-' . $path; |
|
| 137 | }; |
|
| 138 | $processor = new AutoloadProcessor( $classmap_scanner, $path_code_transformer ); |
|
| 139 | ||
| 140 | $autoloads = array( |
|
| 141 | 'classmap' => array( |
|
| 142 | array( |
|
| 143 | 'path' => 'src', |
|
| 144 | 'version' => 'dev-test', |
|
| 145 | ), |
|
| 146 | ), |
|
| 147 | ); |
|
| 148 | ||
| 149 | $autoloads['exclude-from-classmap'] = array( 'TestClass' ); |
|
| 150 | ||
| 151 | $processed = $processor->processClassmap( $autoloads, false ); |
|
| 152 | ||
| 153 | $this->assertEquals( |
|
| 154 | array( |
|
| 155 | 'TestClass' => array( |
|
| 156 | 'version' => 'dev-test', |
|
| 157 | 'path' => 'converted-src/TestClass.php', |
|
| 158 | ), |
|
| 159 | 'TestClass2' => array( |
|
| 160 | 'version' => 'dev-test', |
|
| 161 | 'path' => 'converted-src/TestClass2.php', |
|
| 162 | ), |
|
| 163 | ), |
|
| 164 | $processed |
|
| 165 | ); |
|
| 166 | } |
|
| 167 | ||
| 168 | /** |
|
| 169 | * Tests that `processPsr4Packages` returns the expected format. |
|