@@ -207,7 +207,7 @@ describe('WaveformDataUtils class', () => {
207207 } ) ;
208208
209209 describe ( 'deleteSegments()' , ( ) => {
210- test ( 'timespan' , ( ) => {
210+ test ( 'deletes timespan without children ' , ( ) => {
211211 const item = {
212212 type : 'span' ,
213213 label : 'Segment 1.2' ,
@@ -219,7 +219,7 @@ describe('WaveformDataUtils class', () => {
219219 expect ( value . segments . _segments ) . toHaveLength ( 2 ) ;
220220 } ) ;
221221
222- test ( 'header' , ( ) => {
222+ test ( 'deletes header without children ' , ( ) => {
223223 const item = {
224224 type : 'div' ,
225225 label : 'Sub-Segment 1.1' ,
@@ -230,7 +230,7 @@ describe('WaveformDataUtils class', () => {
230230 expect ( value . segments . _segments ) . toHaveLength ( 3 ) ;
231231 } ) ;
232232
233- test ( 'header with children' , ( ) => {
233+ test ( 'deletes header and its children' , ( ) => {
234234 const item = {
235235 type : 'div' ,
236236 label : 'Sub-Segment 2.1' ,
@@ -262,6 +262,39 @@ describe('WaveformDataUtils class', () => {
262262 ] )
263263 ) ;
264264 } ) ;
265+
266+ test ( 'deletes timespan and its children' , ( ) => {
267+ const item = {
268+ type : 'span' ,
269+ label : 'Sub-Segment 2.1' ,
270+ id : '123a-456b-789c-6d' ,
271+ items : [
272+ {
273+ type : 'div' ,
274+ label : 'Sub-Segment 2.1.1' ,
275+ id : '123a-456b-789c-7d' ,
276+ items : [ ] ,
277+ } ,
278+ {
279+ type : 'span' ,
280+ label : 'Segment 2.1' ,
281+ id : '123a-456b-789c-8d' ,
282+ begin : '00:09:03.241' ,
283+ end : '00:15:00.001' ,
284+ } ,
285+ ] ,
286+ } ;
287+ const value = waveformUtils . deleteSegments ( item , peaks ) ;
288+ expect ( value . segments . _segments ) . toHaveLength ( 2 ) ;
289+ expect ( value . segments . _segments ) . toEqual (
290+ expect . arrayContaining ( [
291+ expect . objectContaining ( {
292+ id : '123a-456b-789c-4d' ,
293+ labelText : 'Segment 1.2' ,
294+ } ) ,
295+ ] )
296+ ) ;
297+ } ) ;
265298 } ) ;
266299
267300 describe ( 'rebuildPeaks()' , ( ) => {
0 commit comments