Current File : //home/tradevaly/www/node_modules/outlayer/test/unit/add-items.js
QUnit.test( 'addItems', function( assert ) {


  var olayer = new Outlayer( '#add-items', {
    itemSelector: '.item'
  });

  var elem = gimmeAnItemElement();
  var expectedItemCount = olayer.items.length;
  var items = olayer.addItems( elem );

  assert.equal( items.length, 1, 'method return array of 1' );
  assert.equal( olayer.items[2].element, elem, 'item was added, element matches' );
  assert.equal( items[0] instanceof Outlayer.Item, true, 'item is instance of Outlayer.Item' );
  expectedItemCount += 1;
  assert.equal( olayer.items.length, expectedItemCount, 'item added to items' );

  // try it with an array
  var elems = [ gimmeAnItemElement(), gimmeAnItemElement(), document.createElement('div') ];
  items = olayer.addItems( elems );
  assert.equal( items.length, 2, 'method return array of 2' );
  assert.equal( olayer.items[3].element, elems[0], 'item was added, element matches' );
  expectedItemCount += 2;
  assert.equal( olayer.items.length, expectedItemCount, 'two items added to items' );

  // try it with HTMLCollection / NodeList
  var fragment = document.createDocumentFragment();
  fragment.appendChild( gimmeAnItemElement() );
  fragment.appendChild( document.createElement('div') );
  fragment.appendChild( gimmeAnItemElement() );

  var divs = fragment.querySelectorAll('div');
  items = olayer.addItems( divs );
  assert.equal( items.length, 2, 'method return array of 2' );
  assert.equal( olayer.items[5].element, divs[0], 'item was added, element matches' );
  expectedItemCount += 2;
  assert.equal( olayer.items.length, expectedItemCount, 'two items added to items' );

});