File tree Expand file tree Collapse file tree 2 files changed +13
-8
lines changed
tests/Humbug/Test/SelfUpdate Expand file tree Collapse file tree 2 files changed +13
-8
lines changed Original file line number Diff line number Diff line change @@ -101,7 +101,7 @@ public function getCurrentRemoteVersion(Updater $updater)
101
101
);
102
102
}
103
103
104
- $ versions = array_keys ($ package ['packages ' ][$ this ->getPackageName ()]);
104
+ $ versions = array_column ($ package ['packages ' ][$ this ->getPackageName ()], ' version ' );
105
105
$ versionParser = new VersionParser ($ versions );
106
106
if ($ this ->getStability () === self ::STABLE ) {
107
107
$ this ->remoteVersion = $ versionParser ->getMostRecentStable ();
@@ -115,7 +115,11 @@ public function getCurrentRemoteVersion(Updater $updater)
115
115
* Setup remote URL if there's an actual version to download.
116
116
*/
117
117
if (! empty ($ this ->remoteVersion )) {
118
- $ this ->remoteUrl = $ this ->getDownloadUrl ($ package );
118
+ $ chosenVersion = array_filter ($ package ['packages ' ][$ this ->getPackageName ()], function (array $ package ) {
119
+ return $ package ['version ' ] === $ this ->remoteVersion ;
120
+ })[0 ];
121
+
122
+ $ this ->remoteUrl = $ this ->getDownloadUrl ($ chosenVersion );
119
123
}
120
124
121
125
return $ this ->remoteVersion ;
@@ -218,15 +222,14 @@ protected function getDownloadUrl(array $package)
218
222
$ baseUrl = preg_replace (
219
223
'{\.git$} ' ,
220
224
'' ,
221
- $ package ['packages ' ][ $ this -> getPackageName ()][ $ this -> remoteVersion ][ ' source ' ]['url ' ]
225
+ $ package ['source ' ]['url ' ]
222
226
);
223
- $ downloadUrl = sprintf (
227
+
228
+ return sprintf (
224
229
'%s/releases/download/%s/%s ' ,
225
230
$ baseUrl ,
226
231
$ this ->remoteVersion ,
227
232
$ this ->getPharName ()
228
233
);
229
-
230
- return $ downloadUrl ;
231
234
}
232
235
}
Original file line number Diff line number Diff line change @@ -139,12 +139,14 @@ private function createTestPharAndKey(): void
139
139
file_put_contents ($ this ->tmp .'/packages.json ' , json_encode ([
140
140
'packages ' => [
141
141
'humbug/test-phar ' => [
142
- '1.0.1 ' => [
142
+ [
143
+ 'version ' => '1.0.1 ' ,
143
144
'source ' => [
144
145
'url ' => 'file:// ' .$ this ->tmp .'.git ' ,
145
146
],
146
147
],
147
- '1.0.0 ' => [
148
+ [
149
+ 'version ' => '1.0.0 ' ,
148
150
],
149
151
],
150
152
],
You can’t perform that action at this time.
0 commit comments