1
0
Fork 0
composer/tests/Composer/Test/DependencyResolver/Fixtures/poolbuilder/provider-does-not-unlock.test

48 lines
1.2 KiB
Plaintext

--TEST--
Do not automatically unlock provider if a package that requires it's provided implementation is updated.
This prevents potential unlocking of many packages where there are many implementors installed.
--REQUEST--
{
"require": {
"provider/pkg": "*",
"root/req": "*"
},
"locked": [
{"name": "root/req", "version": "1.0.0", "require": {"provided/pkg": "1.0.0"}},
{"name": "provider/pkg", "version": "1.0.0", "provide": {"provided/pkg": "1.0.0"}}
],
"allowList": [
"root/req"
],
"allowTransitiveDeps": true
}
--FIXED--
[
]
--PACKAGE-REPOS--
[
[
{"name": "root/req", "version": "1.0.0", "require": {"provided/pkg": "1.0.0"}},
{"name": "root/req", "version": "2.0.0", "require": {"provided/pkg": "2.0.0"}},
{"name": "provider/pkg", "version": "1.0.0", "provide": {"provided/pkg": "1.0.0"}},
{"name": "provider/pkg", "version": "2.0.0", "provide": {"provided/pkg": "2.0.0"}}
]
]
--EXPECT--
[
"provider/pkg-1.0.0.0 (locked)",
"root/req-1.0.0.0",
"root/req-2.0.0.0"
]
--EXPECT-OPTIMIZED--
[
"provider/pkg-1.0.0.0 (locked)",
"root/req-1.0.0.0",
"root/req-2.0.0.0"
]