@@ -402,6 +402,39 @@ CASE( "test_metkit_expand_param" ) {
402
402
403
403
EXPECT_EQUAL (params[0 ], " 140120" );
404
404
}
405
+ {
406
+ const char * text = " retrieve,class=od,expver=1,stream=enwh,date=-1,time=0000,type=pf,levtype=sfc,step=24,param=p1ww" ;
407
+ MarsRequest r = MarsRequest::parse (text);
408
+ auto params = r.values (" param" );
409
+ EXPECT_EQUAL (params.size (), 1 );
410
+
411
+ EXPECT_EQUAL (params[0 ], " 140223" );
412
+ }
413
+ {
414
+ const char * text = " retrieve,class=od,expver=1,stream=waef,date=-1,time=0000,type=cf,levtype=sfc,step=24,param=WSK/MWP" ;
415
+ MarsRequest r = MarsRequest::parse (text);
416
+ auto params = r.values (" param" );
417
+ EXPECT_EQUAL (params.size (), 2 );
418
+
419
+ EXPECT_EQUAL (params[0 ], " 140252" );
420
+ EXPECT_EQUAL (params[1 ], " 140232" );
421
+ }
422
+ {
423
+ const char * text = " retrieve,class=od,expver=1,stream=eefo,date=-1,time=0000,type=fcmean,levtype=sfc,step=24,param=MSL" ;
424
+ MarsRequest r = MarsRequest::parse (text);
425
+ auto params = r.values (" param" );
426
+ EXPECT_EQUAL (params.size (), 1 );
427
+
428
+ EXPECT_EQUAL (params[0 ], " 151" );
429
+ }
430
+ {
431
+ const char * text = " retrieve,class=od,expver=1,stream=eefo,date=-1,time=0000,type=fcmean,levtype=sfc,step=24,param=strda" ;
432
+ MarsRequest r = MarsRequest::parse (text);
433
+ auto params = r.values (" param" );
434
+ EXPECT_EQUAL (params.size (), 1 );
435
+
436
+ EXPECT_EQUAL (params[0 ], " 171175" );
437
+ }
405
438
}
406
439
407
440
// -----------------------------------------------------------------------------
0 commit comments