| @@ 172-201 (lines=30) @@ | ||
| 169 | $this->merge->contract($collection, $target); | |
| 170 | } | |
| 171 | ||
| 172 | public function testSimpleMergeFiles() | |
| 173 |     { | |
| 174 |         $collection = $this->createCollection('simple.merge/', 3); | |
| 175 | ||
| 176 | $outputFile = new LocalFile(static::$dir . 'simple.merge.output'); | |
| 177 | ||
| 178 | $file = $this->merge->contract($collection, $outputFile); | |
| 179 | ||
| 180 | static::assertSame($file, $outputFile); | |
| 181 | static::assertEquals( | |
| 182 | [ | |
| 183 | "File 1 Line 1", | |
| 184 | "File 1 Line 2", | |
| 185 | "File 1 Line 3", | |
| 186 | "File 2 Line 1", | |
| 187 | "File 2 Line 2", | |
| 188 | "File 2 Line 3", | |
| 189 | "File 3 Line 1", | |
| 190 | "File 3 Line 2", | |
| 191 | "File 3 Line 3", | |
| 192 | ], | |
| 193 | $file->getContents() | |
| 194 | ); | |
| 195 | ||
| 196 |         $exists = $collection->filter(function (FileNodeInterface $item) { | |
| 197 | return $item->exists(); | |
| 198 | }); | |
| 199 | ||
| 200 | static::assertCount(3, $exists); | |
| 201 | } | |
| 202 | ||
| 203 | /** | |
| 204 | * @param string $rootDir | |
| @@ 222-251 (lines=30) @@ | ||
| 219 | return $collection; | |
| 220 | } | |
| 221 | ||
| 222 | public function testCallingMergeWithKeepOldFilesAsFalseDeletesAllTheFilesInTheCollection() | |
| 223 |     { | |
| 224 |         $collection = $this->createCollection('simple.merge.delete/', 3); | |
| 225 | ||
| 226 | $outputFile = new LocalFile(static::$dir . 'simple.merge.delete.output'); | |
| 227 | ||
| 228 | $file = $this->merge->contract($collection, $outputFile, ['keepOldFiles' => false]); | |
| 229 | ||
| 230 | static::assertSame($file, $outputFile); | |
| 231 | static::assertEquals( | |
| 232 | [ | |
| 233 | "File 1 Line 1", | |
| 234 | "File 1 Line 2", | |
| 235 | "File 1 Line 3", | |
| 236 | "File 2 Line 1", | |
| 237 | "File 2 Line 2", | |
| 238 | "File 2 Line 3", | |
| 239 | "File 3 Line 1", | |
| 240 | "File 3 Line 2", | |
| 241 | "File 3 Line 3", | |
| 242 | ], | |
| 243 | $file->getContents() | |
| 244 | ); | |
| 245 | ||
| 246 |         $exists = $collection->filter(function (FileNodeInterface $item) { | |
| 247 | return $item->exists(); | |
| 248 | }); | |
| 249 | ||
| 250 | static::assertCount(0, $exists); | |
| 251 | } | |
| 252 | ||
| 253 | public function testProcessFailedThrowException() | |
| 254 |     { | |
| @@ 271-304 (lines=34) @@ | ||
| 268 | $this->merge->contract($collection, $outputFile); | |
| 269 | } | |
| 270 | ||
| 271 | public function testCallingContractWillPassThroughOptions() | |
| 272 |     { | |
| 273 |         $collection = $this->createCollection('simple.contract.pass.through/', 3); | |
| 274 | $outputFile = new LocalFile(static::$dir . 'simple.contract.pass.through.output'); | |
| 275 | ||
| 276 | $file = $this->merge->contract( | |
| 277 | $collection, | |
| 278 | $outputFile, | |
| 279 | [ | |
| 280 | 'keepOldFiles' => true, | |
| 281 | ] | |
| 282 | ); | |
| 283 | ||
| 284 | static::assertEquals( | |
| 285 | [ | |
| 286 | "File 1 Line 1", | |
| 287 | "File 1 Line 2", | |
| 288 | "File 1 Line 3", | |
| 289 | "File 2 Line 1", | |
| 290 | "File 2 Line 2", | |
| 291 | "File 2 Line 3", | |
| 292 | "File 3 Line 1", | |
| 293 | "File 3 Line 2", | |
| 294 | "File 3 Line 3", | |
| 295 | ], | |
| 296 | $file->getContents() | |
| 297 | ); | |
| 298 | ||
| 299 |         $exists = $collection->filter(function (FileNodeInterface $item) { | |
| 300 | return $item->exists(); | |
| 301 | }); | |
| 302 | ||
| 303 | static::assertCount(3, $exists); | |
| 304 | } | |
| 305 | ||
| 306 | public function testDeleteOldFilesWillDeleteAnyEmptyDirectories() | |
| 307 |     { | |