@@ -203,3 +203,70 @@ test_composer_paths() {
203
203
assert_line --regexp ' ^json=.*/fixtures/out-of-sync-lock-custom-composer/composer-gh-actions\.json$'
204
204
assert_line --regexp ' ^lock=.*/fixtures/out-of-sync-lock-custom-composer/composer-gh-actions\.lock$'
205
205
}
206
+
207
+ @test ' generates composer paths for custom composer file via COMPOSER env var' {
208
+ export COMPOSER=' composer-gh-actions.json'
209
+
210
+ run -0 test_composer_paths \
211
+ ' ' \
212
+ " ${PROJECT_ROOT} /tests/fixtures/custom-composer"
213
+
214
+ assert_line --regexp " ^::debug::Composer path is '.*/composer'$"
215
+ assert_line --regexp " ^::debug::Composer version .*$"
216
+ assert_line --regexp " ^::debug::Composer cache directory found at '.*'$"
217
+ assert_line --regexp " ^::debug::File composer.json found at '.*/fixtures/custom-composer/composer-gh-actions\.json'$"
218
+ assert_line --regexp " ^::debug::File composer.lock path computed as '.*/fixtures/custom-composer/composer-gh-actions\.lock'$"
219
+ assert_line " ::debug::The COMPOSER environment variable is 'composer-gh-actions.json'"
220
+ assert_line --regexp " ^composer_command=.*/composer$"
221
+ assert_line --regexp " ^cache-dir=.*$"
222
+ assert_line --regexp ' ^json=.*/fixtures/custom-composer/composer-gh-actions\.json$'
223
+ assert_line --regexp ' ^lock=.*/fixtures/custom-composer/composer-gh-actions\.lock$'
224
+ }
225
+
226
+ @test ' prints error when custom composer file via COMPOSER env var is not valid' {
227
+ export COMPOSER=' composer-gh-actions.json'
228
+
229
+ run ! test_composer_paths \
230
+ ' ' \
231
+ " ${PROJECT_ROOT} /tests/fixtures/invalid-custom-composer"
232
+
233
+ assert_line --regexp " ^::error title=Invalid composer\.json::The composer\.json file at '.*/fixtures/invalid-custom-composer/composer-gh-actions\.json' does not validate; run 'composer validate' to check for errors$"
234
+ }
235
+
236
+ @test ' generates composer paths for custom composer file via COMPOSER env var without a lock file' {
237
+ export COMPOSER=' composer-gh-actions.json'
238
+
239
+ run -0 test_composer_paths \
240
+ ' ' \
241
+ " ${PROJECT_ROOT} /tests/fixtures/no-lock-file-custom-composer"
242
+
243
+ assert_line --regexp " ^::debug::Composer path is '.*/composer'$"
244
+ assert_line --regexp " ^::debug::Composer version .*$"
245
+ assert_line --regexp " ^::debug::Composer cache directory found at '.*'$"
246
+ assert_line --regexp " ^::debug::File composer.json found at '.*/fixtures/no-lock-file-custom-composer/composer-gh-actions\.json'$"
247
+ assert_line --regexp " ^::debug::File composer.lock path computed as ''$"
248
+ assert_line " ::debug::The COMPOSER environment variable is 'composer-gh-actions.json'"
249
+ assert_line --regexp " ^composer_command=.*/composer$"
250
+ assert_line --regexp " ^cache-dir=.*$"
251
+ assert_line --regexp ' ^json=.*/fixtures/no-lock-file-custom-composer/composer-gh-actions\.json$'
252
+ assert_line ' lock='
253
+ }
254
+
255
+ @test ' generates composer paths for custom composer file via COMPOSER env var with out-of-sync lock file' {
256
+ export COMPOSER=' composer-gh-actions.json'
257
+
258
+ run -0 test_composer_paths \
259
+ ' ' \
260
+ " ${PROJECT_ROOT} /tests/fixtures/out-of-sync-lock-custom-composer"
261
+
262
+ assert_line --regexp " ^::debug::Composer path is '.*/composer'$"
263
+ assert_line --regexp " ^::debug::Composer version .*$"
264
+ assert_line --regexp " ^::debug::Composer cache directory found at '.*'$"
265
+ assert_line --regexp " ^::debug::File composer.json found at '.*/fixtures/out-of-sync-lock-custom-composer/composer-gh-actions\.json'$"
266
+ assert_line --regexp " ^::debug::File composer.lock path computed as '.*/fixtures/out-of-sync-lock-custom-composer/composer-gh-actions\.lock'$"
267
+ assert_line " ::debug::The COMPOSER environment variable is 'composer-gh-actions.json'"
268
+ assert_line --regexp " ^composer_command=.*/composer$"
269
+ assert_line --regexp " ^cache-dir=.*$"
270
+ assert_line --regexp ' ^json=.*/fixtures/out-of-sync-lock-custom-composer/composer-gh-actions\.json$'
271
+ assert_line --regexp ' ^lock=.*/fixtures/out-of-sync-lock-custom-composer/composer-gh-actions\.lock$'
272
+ }
0 commit comments