@@ -25,6 +25,17 @@ const rangesTestCases = [
2525 start : 0 ,
2626 end : 3
2727 } ,
28+ {
29+ source : ':+-foobarbaz-+:' ,
30+ result : ':+-barbaz-+:' ,
31+ start : 3 ,
32+ end : undefined
33+ } ,
34+ {
35+ source : ':+-foobarbaz-+:' ,
36+ result : ':+-barbaz-+:' ,
37+ start : 3
38+ } ,
2839 {
2940 source : ':+-foobarbaz-+:' ,
3041 result : ':+-bar-+:' ,
@@ -113,6 +124,17 @@ const rangesTestCases = [
113124 result : 'b:+-a-+:z:+-z-+::+-z-+:' ,
114125 start : 6 ,
115126 end : 20
127+ } ,
128+ {
129+ source : 'foo:+-bar-+:b:+-a-+:z:+-z-+::+-z-+:' ,
130+ result : 'b:+-a-+:z:+-z-+::+-z-+:' ,
131+ start : 6 ,
132+ end : undefined
133+ } ,
134+ {
135+ source : 'foo:+-bar-+:b:+-a-+:z:+-z-+::+-z-+:' ,
136+ result : 'b:+-a-+:z:+-z-+::+-z-+:' ,
137+ start : 6
116138 }
117139]
118140
@@ -227,13 +249,17 @@ describe('Check Ranges format', function () {
227249 TaintedUtils . removeTransaction ( id )
228250 } )
229251
230- rangesTestCases . forEach ( ( { source, start, end, result } ) => {
252+ rangesTestCases . forEach ( ( testData ) => {
253+ const { source, start, end, result } = testData
254+
231255 it ( `Test ${ source } ` , function ( ) {
232256 const inputString = taintFormattedString ( id , source )
233257 assert . equal ( TaintedUtils . isTainted ( id , inputString ) , true , 'Not tainted' )
234258 const res = inputString . substr ( start , end )
235259
236- const ret = TaintedUtils . substr ( id , res , inputString , start , end )
260+ const ret = testData . hasOwnProperty ( 'end' )
261+ ? TaintedUtils . substr ( id , res , inputString , start , end )
262+ : TaintedUtils . substr ( id , res , inputString , start )
237263 assert . equal ( res , ret , 'Unexpected value' )
238264
239265 const formattedResult = formatTaintedValue ( id , ret )
0 commit comments