@@ 159-188 (lines=30) @@ | ||
156 | $this->merge->contract($collection, $target); |
|
157 | } |
|
158 | ||
159 | public function testSimpleMergeFiles() |
|
160 | { |
|
161 | $collection = $this->createCollection('simple.merge/', 3); |
|
162 | ||
163 | $outputFile = new LocalFile(static::$dir . 'simple.merge.output'); |
|
164 | ||
165 | $file = $this->merge->contract($collection, $outputFile); |
|
166 | ||
167 | static::assertSame($file, $outputFile); |
|
168 | static::assertEquals( |
|
169 | [ |
|
170 | "File 1 Line 1", |
|
171 | "File 1 Line 2", |
|
172 | "File 1 Line 3", |
|
173 | "File 2 Line 1", |
|
174 | "File 2 Line 2", |
|
175 | "File 2 Line 3", |
|
176 | "File 3 Line 1", |
|
177 | "File 3 Line 2", |
|
178 | "File 3 Line 3", |
|
179 | ], |
|
180 | $file->getContents() |
|
181 | ); |
|
182 | ||
183 | $exists = $collection->filter(function (FileNodeInterface $item) { |
|
184 | return $item->exists(); |
|
185 | }); |
|
186 | ||
187 | static::assertCount(3, $exists); |
|
188 | } |
|
189 | ||
190 | /** |
|
191 | * @param string $rootDir |
|
@@ 209-238 (lines=30) @@ | ||
206 | return $collection; |
|
207 | } |
|
208 | ||
209 | public function testCallingMergeWithKeepOldFilesAsFalseDeletesAllTheFilesInTheCollection() |
|
210 | { |
|
211 | $collection = $this->createCollection('simple.merge.delete/', 3); |
|
212 | ||
213 | $outputFile = new LocalFile(static::$dir . 'simple.merge.delete.output'); |
|
214 | ||
215 | $file = $this->merge->contract($collection, $outputFile, ['keepOldFiles' => false]); |
|
216 | ||
217 | static::assertSame($file, $outputFile); |
|
218 | static::assertEquals( |
|
219 | [ |
|
220 | "File 1 Line 1", |
|
221 | "File 1 Line 2", |
|
222 | "File 1 Line 3", |
|
223 | "File 2 Line 1", |
|
224 | "File 2 Line 2", |
|
225 | "File 2 Line 3", |
|
226 | "File 3 Line 1", |
|
227 | "File 3 Line 2", |
|
228 | "File 3 Line 3", |
|
229 | ], |
|
230 | $file->getContents() |
|
231 | ); |
|
232 | ||
233 | $exists = $collection->filter(function (FileNodeInterface $item) { |
|
234 | return $item->exists(); |
|
235 | }); |
|
236 | ||
237 | static::assertCount(0, $exists); |
|
238 | } |
|
239 | ||
240 | public function testProcessFailedThrowException() |
|
241 | { |
|
@@ 258-291 (lines=34) @@ | ||
255 | $this->merge->contract($collection, $outputFile); |
|
256 | } |
|
257 | ||
258 | public function testCallingContractWillPassThroughOptions() |
|
259 | { |
|
260 | $collection = $this->createCollection('simple.contract.pass.through/', 3); |
|
261 | $outputFile = new LocalFile(static::$dir . 'simple.contract.pass.through.output'); |
|
262 | ||
263 | $file = $this->merge->contract( |
|
264 | $collection, |
|
265 | $outputFile, |
|
266 | [ |
|
267 | 'keepOldFiles' => true, |
|
268 | ] |
|
269 | ); |
|
270 | ||
271 | static::assertEquals( |
|
272 | [ |
|
273 | "File 1 Line 1", |
|
274 | "File 1 Line 2", |
|
275 | "File 1 Line 3", |
|
276 | "File 2 Line 1", |
|
277 | "File 2 Line 2", |
|
278 | "File 2 Line 3", |
|
279 | "File 3 Line 1", |
|
280 | "File 3 Line 2", |
|
281 | "File 3 Line 3", |
|
282 | ], |
|
283 | $file->getContents() |
|
284 | ); |
|
285 | ||
286 | $exists = $collection->filter(function (FileNodeInterface $item) { |
|
287 | return $item->exists(); |
|
288 | }); |
|
289 | ||
290 | static::assertCount(3, $exists); |
|
291 | } |
|
292 | ||
293 | public function testDeleteOldFilesWillDeleteAnyEmptyDirectories() |
|
294 | { |