|
2 | 2 |
|
3 | 3 | namespace EM\CssCompiler\Tests\PHPUnit; |
4 | 4 |
|
| 5 | +use Composer\Composer; |
| 6 | +use Composer\Config; |
| 7 | +use Composer\IO\IOInterface; |
| 8 | +use Composer\Package\RootPackage; |
| 9 | +use Composer\Script\Event; |
5 | 10 | use EM\CssCompiler\ScriptHandler; |
6 | 11 | use EM\CssCompiler\Tests\Environment\IntegrationTestSuite; |
7 | 12 |
|
@@ -148,4 +153,46 @@ private function validateOptions($config) |
148 | 153 | { |
149 | 154 | return $this->invokeMethod(new ScriptHandler(), 'validateOptions', [[$config]]); |
150 | 155 | } |
| 156 | + |
| 157 | + /*** *************************** INTEGRATION *************************** ***/ |
| 158 | + /** |
| 159 | + * @see ScriptHandler::generateCSS |
| 160 | + * @test |
| 161 | + */ |
| 162 | + public function generateCSS() |
| 163 | + { |
| 164 | + $composer = (new Composer()); |
| 165 | + /** @var RootPackage|\PHPUnit_Framework_MockObject_MockObject $rootPackage */ |
| 166 | + $rootPackage = $this->getMockBuilder(RootPackage::class) |
| 167 | + ->setConstructorArgs(['css-compiler', 'dev-master', 'dev']) |
| 168 | + ->setMethods(['getExtra']) |
| 169 | + ->getMock(); |
| 170 | + /** @var IOInterface|\PHPUnit_Framework_MockObject_MockObject $io */ |
| 171 | + $io = $this->getMockBuilder(IOInterface::class)->getMock(); |
| 172 | + |
| 173 | + $output = $this->getCacheDirectory() . '/' . __FUNCTION__ . '.css'; |
| 174 | + @unlink($output); |
| 175 | + |
| 176 | + $extra = [ |
| 177 | + 'css-compiler' => [ |
| 178 | + [ |
| 179 | + 'format' => 'compact', |
| 180 | + 'input' => [ |
| 181 | + $this->getSharedFixturesDirectory() . '/less' |
| 182 | + ], |
| 183 | + 'output' => $output |
| 184 | + ] |
| 185 | + ] |
| 186 | + ]; |
| 187 | + |
| 188 | + $rootPackage->expects($this->once()) |
| 189 | + ->method('getExtra') |
| 190 | + ->willReturn($extra); |
| 191 | + $composer->setPackage($rootPackage); |
| 192 | + |
| 193 | + $event = new Event('onInstall', $composer, $io); |
| 194 | + |
| 195 | + ScriptHandler::generateCSS($event); |
| 196 | + $this->assertFileExists($output); |
| 197 | + } |
151 | 198 | } |
0 commit comments