@@ -197,8 +197,10 @@ static void test_php_package_priority(void) {
197
197
#define NO_VERSION NULL
198
198
#define PACKAGE_VERSION "1.0.0"
199
199
#define COMPOSER_VERSION "1.0.1"
200
+ #define COMPOSER_VERSION_2 "2.0.1"
200
201
nr_php_package_t * legacy_package ;
201
202
nr_php_package_t * composer_package ;
203
+ nr_php_package_t * composer_package_2 ;
202
204
nr_php_package_t * p ;
203
205
nr_php_packages_t * hm = NULL ;
204
206
int count ;
@@ -248,6 +250,27 @@ static void test_php_package_priority(void) {
248
250
249
251
nr_php_packages_destroy (& hm );
250
252
}
253
+
254
+ // Package added with composer priority only - last version from composer should win
255
+ composer_package = nr_php_package_create_with_source (PACKAGE_NAME , COMPOSER_VERSION , NR_PHP_PACKAGE_SOURCE_COMPOSER ); // composer priority
256
+ tlib_pass_if_int_equal ("create package by uses composer priority" , NR_PHP_PACKAGE_SOURCE_COMPOSER , composer_package -> source_priority );
257
+
258
+ composer_package_2 = nr_php_package_create_with_source (PACKAGE_NAME , COMPOSER_VERSION_2 , NR_PHP_PACKAGE_SOURCE_COMPOSER ); // composer priority
259
+ tlib_pass_if_int_equal ("create package by uses composer priority" , NR_PHP_PACKAGE_SOURCE_COMPOSER , composer_package_2 -> source_priority );
260
+
261
+ hm = nr_php_packages_create ();
262
+ // order of adding packages: composer first, composer second
263
+ nr_php_packages_add_package (hm , composer_package );
264
+ nr_php_packages_add_package (hm , composer_package_2 );
265
+
266
+ count = nr_php_packages_count (hm );
267
+ tlib_pass_if_int_equal ("add same package" , 1 , count );
268
+
269
+ p = (nr_php_package_t * )nr_hashmap_get (hm -> data , PACKAGE_NAME , nr_strlen (PACKAGE_NAME ));
270
+ tlib_pass_if_not_null ("package exists" , p );
271
+ tlib_pass_if_str_equal ("package version from last composer wins" , COMPOSER_VERSION_2 , p -> package_version );
272
+
273
+ nr_php_packages_destroy (& hm );
251
274
}
252
275
253
276
tlib_parallel_info_t parallel_info
0 commit comments