@@ -572,7 +572,7 @@ Describe "Platform Matrix Generation With Object Fields" -Tag "objectfields" {
572
572
}
573
573
}
574
574
575
- Describe " Platform Matrix Display Names" - Tag " displaynames" {
575
+ Describe " Platform Matrix Job and Display Names" - Tag " displaynames" {
576
576
BeforeEach {
577
577
$matrixConfigForGenerate = @"
578
578
{
@@ -601,7 +601,6 @@ Describe "Platform Matrix Display Names" -Tag "displaynames" {
601
601
It " Should enforce valid display name format" {
602
602
$generateconfig.displayNamesLookup [" net461" ] = ' 123.Some.456.Invalid_format-name$(foo)'
603
603
$generateconfig.displayNamesLookup [" netcoreapp2.1" ] = (New-Object string[] 150 ) -join " a"
604
- $dimensions = GetMatrixDimensions $generateConfig.matrixParameters
605
604
$matrix = GenerateFullMatrix $generateconfig.matrixParameters $generateconfig.displayNamesLookup
606
605
607
606
$matrix [0 ].name | Should - Be " ubuntu1804_123some456invalid_formatnamefoo_TestObjectValueName"
@@ -611,6 +610,43 @@ Describe "Platform Matrix Display Names" -Tag "displaynames" {
611
610
$matrix [1 ].name | Should - BeLike " ubuntu1804_aaaaaaaaaaaaaaaaa*"
612
611
}
613
612
613
+ It " Should create a valid display name when there are leading numbers" {
614
+ $generateconfig.displayNamesLookup [" ubuntu-18.04" ] = ' 123_ubuntu1804'
615
+ $matrix = GenerateFullMatrix $generateconfig.matrixParameters $generateconfig.displayNamesLookup
616
+
617
+ $matrix [0 ].name | Should - Be " job_123_ubuntu1804_net461_TestObjectValueName"
618
+ }
619
+
620
+ It " Should create a valid job name when there are leading numbers" {
621
+ $matrixConfigForGenerate = @"
622
+ {
623
+ "matrix": {
624
+ "numField1": [1, 2, 3],
625
+ "letterField": ["a", "b", "c"]
626
+ }
627
+ }
628
+ "@
629
+ $generateConfig = GetMatrixConfigFromJson $matrixConfigForGenerate
630
+ $matrix = GenerateFullMatrix $generateconfig.matrixParameters $generateconfig.displayNamesLookup
631
+ $matrix [0 ].name | Should - Be " job_1_a"
632
+ }
633
+
634
+ It " Should create a valid job name when parameter values are all numbers" {
635
+ $matrixConfigForGenerate = @"
636
+ {
637
+ "matrix": {
638
+ "numField1": ["1", "2", "3"],
639
+ "numField2": [4, 5, 6]
640
+ }
641
+ }
642
+ "@
643
+ $generateConfig = GetMatrixConfigFromJson $matrixConfigForGenerate
644
+ $matrix = GenerateSparseMatrix $generateconfig.matrixParameters $generateconfig.displayNamesLookup
645
+ $matrix [0 ].name | Should - Be " job_1_4"
646
+ $matrix [1 ].name | Should - Be " job_2_5"
647
+ $matrix [2 ].name | Should - Be " job_3_6"
648
+ }
649
+
614
650
It " Should generate a display name with null and object values" {
615
651
$matrix = GenerateMatrix $generateConfig " sparse"
616
652
$matrix [0 ].name | Should - Be " ubuntu1804_net461_TestObjectValueName"
0 commit comments