1- // Copyright 2020-2022 The MathWorks, Inc.
1+ // Copyright 2020-2026 The MathWorks, Inc.
22
33import * as scriptgen from "./scriptgen.js" ;
44
@@ -20,6 +20,7 @@ describe("command generation", () => {
2020 UseParallel : false ,
2121 OutputDetail : "" ,
2222 LoggingLevel : "" ,
23+ CodeCoverageMetrics : "" ,
2324 } ;
2425
2526 const actual = scriptgen . generateCommand ( options ) ;
@@ -40,18 +41,30 @@ describe("command generation", () => {
4041 expect ( actual . includes ( "'UseParallel',false" ) ) . toBeTruthy ( ) ;
4142 expect ( actual . includes ( "'OutputDetail',''" ) ) . toBeTruthy ( ) ;
4243 expect ( actual . includes ( "'LoggingLevel',''" ) ) . toBeTruthy ( ) ;
44+ expect ( actual . includes ( "'Metrics',{}" ) ) . toBeTruthy ( ) ;
4345
4446 const expected =
45- `genscript('Test', 'JUnitTestResults','', 'CoberturaCodeCoverage','', 'HTMLCodeCoverage','',
46- 'SourceFolder','', 'PDFTestReport','', 'HTMLTestReport','', 'SimulinkTestResults','',
47- 'CoberturaModelCoverage','', 'HTMLModelCoverage','', 'SelectByTag','', 'SelectByFolder','',
48- 'Strict',false, 'UseParallel',false, 'OutputDetail','', 'LoggingLevel','')` . replace (
47+ `genscript('Test', 'JUnitTestResults','', 'CoberturaCodeCoverage','', 'HTMLCodeCoverage','',
48+ 'SourceFolder','', 'PDFTestReport','', 'HTMLTestReport','', 'SimulinkTestResults','',
49+ 'CoberturaModelCoverage','', 'HTMLModelCoverage','', 'SelectByTag','', 'SelectByFolder','',
50+ 'Strict',false, 'UseParallel',false, 'OutputDetail','', 'LoggingLevel','',
51+ 'Metrics',{})` . replace (
4952 / \s + / g,
5053 "" ,
5154 ) ;
5255 expect ( actual . replace ( / \s + / g, "" ) . includes ( expected ) ) . toBeTruthy ( ) ;
5356 } ) ;
5457
58+ it ( "contains genscript invocation with single metrics value" , ( ) => {
59+ const options : scriptgen . RunTestsOptions = {
60+ CodeCoverageMetrics : "statement" ,
61+ } ;
62+
63+ const actual = scriptgen . generateCommand ( options ) ;
64+
65+ expect ( actual . includes ( "'Metrics',{'statement'}" ) ) . toBeTruthy ( ) ;
66+ } ) ;
67+
5568 it ( "contains genscript invocation with all options specified" , ( ) => {
5669 const options : scriptgen . RunTestsOptions = {
5770 JUnitTestResults : "test-results/results.xml" ,
@@ -69,6 +82,7 @@ describe("command generation", () => {
6982 UseParallel : true ,
7083 OutputDetail : "Detailed" ,
7184 LoggingLevel : "Detailed" ,
85+ CodeCoverageMetrics : "mcdc type-size" ,
7286 } ;
7387
7488 const actual = scriptgen . generateCommand ( options ) ;
@@ -97,23 +111,25 @@ describe("command generation", () => {
97111 expect ( actual . includes ( "'UseParallel',true" ) ) . toBeTruthy ( ) ;
98112 expect ( actual . includes ( "'OutputDetail','Detailed'" ) ) . toBeTruthy ( ) ;
99113 expect ( actual . includes ( "'LoggingLevel','Detailed'" ) ) . toBeTruthy ( ) ;
114+ expect ( actual . includes ( "'Metrics',{'mcdc','type-size'}" ) ) . toBeTruthy ( ) ;
100115
101- const expected = `genscript('Test',
102- 'JUnitTestResults','test-results/results.xml',
116+ const expected = `genscript('Test',
117+ 'JUnitTestResults','test-results/results.xml',
103118 'CoberturaCodeCoverage','code-coverage/coverage.xml',
104- 'HTMLCodeCoverage','code-coverage/coverage.html',
119+ 'HTMLCodeCoverage','code-coverage/coverage.html',
105120 'SourceFolder','source',
106- 'PDFTestReport','test-results/pdf-results.pdf',
107- 'HTMLTestReport','test-results/html-results.html',
121+ 'PDFTestReport','test-results/pdf-results.pdf',
122+ 'HTMLTestReport','test-results/html-results.html',
108123 'SimulinkTestResults','test-results/simulinkTest.mldatx',
109- 'CoberturaModelCoverage','test-results/modelcoverage.xml',
110- 'HTMLModelCoverage','test-results/modelcoverage.html',
111- 'SelectByTag','FeatureA',
112- 'SelectByFolder','test/tools;test/toolbox',
113- 'Strict',true,
114- 'UseParallel',true,
115- 'OutputDetail','Detailed',
116- 'LoggingLevel','Detailed' )` . replace ( / \s + / g, "" ) ;
124+ 'CoberturaModelCoverage','test-results/modelcoverage.xml',
125+ 'HTMLModelCoverage','test-results/modelcoverage.html',
126+ 'SelectByTag','FeatureA',
127+ 'SelectByFolder','test/tools;test/toolbox',
128+ 'Strict',true,
129+ 'UseParallel',true,
130+ 'OutputDetail','Detailed',
131+ 'LoggingLevel','Detailed',
132+ 'Metrics',{'mcdc','type-size'})` . replace ( / \s + / g, "" ) ;
117133 expect ( actual . replace ( / \s + / g, "" ) . includes ( expected ) ) . toBeTruthy ( ) ;
118134 } ) ;
119135} ) ;
0 commit comments