text: 
  t = db.dropIndex;
  t.drop();
  
  t.insert( { _id : 1 , a : 2 , b : 3 } );
  assert.eq( 1 , t.getIndexes().length , "A1" );
  
  t.ensureIndex( { a : 1 } );
  t.ensureIndex( { b : 1 } );
  assert.eq( 3 , t.getIndexes().length , "A2" );
  
  x = db._dbCommand( { dropIndexes: t.getName() , index : t._genIndexName( { a : 1 } ) } );
  assert.eq( 2 , t.getIndexes().length , "B1 " + tojson(x) );
  
  x = db._dbCommand( { dropIndexes: t.getName() , index : { b : 1 } } );
  assert.eq( 1 , t.getIndexes().length , "B2" );
  
  // ensure you can recreate indexes, even if you don't use dropIndex method
  t.ensureIndex({a:1});
  assert.eq(2 , t.getIndexes().length);
  