Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 346458 | Differences between
and this patch

Collapse All | Expand All

(-)js/org/eclipse/rwt/widgets/TreeItem.js (+1 lines)
Lines 217-222 Link Here
217
      var children = this._children;
217
      var children = this._children;
218
      var index = children.indexOf( item );
218
      var index = children.indexOf( item );
219
      this._children.splice( index, 1 );
219
      this._children.splice( index, 1 );
220
      this._children.push( undefined );
220
      this._update( "remove", item );
221
      this._update( "remove", item );
221
    },
222
    },
222
223
(-)js/org/eclipse/rwt/test/tests/TreeItemTest.js (-1 / +1 lines)
Lines 228-234 Link Here
228
      var child3 = new org.eclipse.rwt.widgets.TreeItem( root );
228
      var child3 = new org.eclipse.rwt.widgets.TreeItem( root );
229
      assertEquals( [ child1, child2, child3 ], root._children );
229
      assertEquals( [ child1, child2, child3 ], root._children );
230
      child2.dispose();
230
      child2.dispose();
231
      assertEquals( [ child1, child3 ], root._children );
231
      assertEquals( [ child1, child3, undefined ], root._children );
232
    },
232
    },
233
233
234
    testRemoveItemEvent : function() {
234
    testRemoveItemEvent : function() {
(-)js/org/eclipse/rwt/test/tests/TreeTest.js (-2 / +46 lines)
Lines 346-358 Link Here
346
    testRenderRemoveItem : function() {
346
    testRenderRemoveItem : function() {
347
      var testUtil = org.eclipse.rwt.test.fixture.TestUtil;
347
      var testUtil = org.eclipse.rwt.test.fixture.TestUtil;
348
      var tree = this._createDefaultTree();
348
      var tree = this._createDefaultTree();
349
      tree.setItemCount( 10 );
349
      var item;
350
      var item;
350
      for( var i = 0; i < 10; i++ ) {
351
      for( var i = 0; i < 10; i++ ) {
351
        item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem() );
352
        item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem(), i );
352
        item.setTexts( [ "Test" + i ] );
353
        item.setTexts( [ "Test" + i ] );
353
      }
354
      }
354
      testUtil.flush();
355
      testUtil.flush();
355
      item.dispose();
356
      item.dispose();
357
      tree.setItemCount( 9 ); // order is relevant: dispose before setItemCount
356
      testUtil.flush();
358
      testUtil.flush();
357
      var sample = tree._clientArea._getTargetNode().childNodes[ 9 ];
359
      var sample = tree._clientArea._getTargetNode().childNodes[ 9 ];
358
      assertEquals( 1, sample.childNodes.length );
360
      assertEquals( 1, sample.childNodes.length );
Lines 360-377 Link Here
360
      tree.destroy();
362
      tree.destroy();
361
    },
363
    },
362
364
365
    testRenderRemoveAddItem : function() {
366
      var testUtil = org.eclipse.rwt.test.fixture.TestUtil;
367
      var tree = this._createDefaultTree();
368
      tree.setItemCount( 10 );
369
      var item;
370
      for( var i = 0; i < 10; i++ ) {
371
        item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem(), i );
372
        item.setTexts( [ "Test" + i ] );
373
      }
374
      testUtil.flush();
375
      item.dispose();
376
	    item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem(), 9 );
377
	    item.setTexts( [ "newItem" ] );
378
      testUtil.flush();
379
      var sample = tree._clientArea._getTargetNode().childNodes[ 9 ];
380
      assertEquals( 1, sample.childNodes.length );
381
      assertEquals( "newItem", sample.childNodes[ 0 ].innerHTML );
382
      tree.destroy();
383
    },
384
385
    testRenderRemoveItemVirtual : function() {
386
      var testUtil = org.eclipse.rwt.test.fixture.TestUtil;
387
      var tree = this._createDefaultTree();
388
      tree.setItemCount( 10 );
389
      var item;
390
      for( var i = 0; i < 10; i++ ) {
391
        item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem(), i );
392
        item.setTexts( [ "Test" + i ] );
393
      }
394
      testUtil.flush();
395
      item.dispose();
396
      testUtil.flush();
397
      var sample = tree._clientArea._getTargetNode().childNodes[ 9 ];
398
      assertEquals( 1, sample.childNodes.length );
399
      assertEquals( "...", sample.childNodes[ 0 ].innerHTML );
400
      tree.destroy();
401
    },
402
363
    testRenderRemoveFirstItem : function() {
403
    testRenderRemoveFirstItem : function() {
364
      var testUtil = org.eclipse.rwt.test.fixture.TestUtil;
404
      var testUtil = org.eclipse.rwt.test.fixture.TestUtil;
365
      var tree = this._createDefaultTree();
405
      var tree = this._createDefaultTree();
406
      tree.setItemCount( 10 );
366
      var item;
407
      var item;
367
      for( var i = 0; i < 10; i++ ) {
408
      for( var i = 0; i < 10; i++ ) {
368
        item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem() );
409
        item = new org.eclipse.rwt.widgets.TreeItem( tree.getRootItem(), i );
369
        item.setTexts( [ "Test" + i ] );
410
        item.setTexts( [ "Test" + i ] );
370
      }
411
      }
371
      item = tree._rootItem._children[ 0 ];
412
      item = tree._rootItem._children[ 0 ];
372
      assertEquals( "Test0", item.getText( 0 ) );
413
      assertEquals( "Test0", item.getText( 0 ) );
373
      testUtil.flush();
414
      testUtil.flush();
374
      item.dispose();
415
      item.dispose();
416
      tree.setItemCount( 9 );
375
      testUtil.flush();
417
      testUtil.flush();
376
      item = tree._rootItem._children[ 0 ];
418
      item = tree._rootItem._children[ 0 ];
377
      assertEquals( "Test1", item.getText( 0 ) );
419
      assertEquals( "Test1", item.getText( 0 ) );
Lines 443-452 Link Here
443
      testUtil.flush();
485
      testUtil.flush();
444
      var node = tree._rows[ 0 ]._getTargetNode();
486
      var node = tree._rows[ 0 ]._getTargetNode();
445
      assertTrue( node.innerHTML.indexOf( "empty.gif" ) != -1 ); 
487
      assertTrue( node.innerHTML.indexOf( "empty.gif" ) != -1 ); 
488
      item.setItemCount( 1 );
446
      var item2 = new org.eclipse.rwt.widgets.TreeItem( item );
489
      var item2 = new org.eclipse.rwt.widgets.TreeItem( item );
447
      testUtil.flush();
490
      testUtil.flush();
448
      assertTrue( node.innerHTML.indexOf( "children.gif" ) != -1 );
491
      assertTrue( node.innerHTML.indexOf( "children.gif" ) != -1 );
449
      item2.dispose(); 
492
      item2.dispose(); 
493
      item.setItemCount( 0 );
450
      testUtil.flush();
494
      testUtil.flush();
451
      assertTrue( node.innerHTML.indexOf( "empty.gif" ) != -1 );
495
      assertTrue( node.innerHTML.indexOf( "empty.gif" ) != -1 );
452
      tree.destroy();
496
      tree.destroy();

Return to bug 346458