/*
Unit test for count
*/

assert = chai.assert;


describe('Microformat.count', function() {

   it('count', function(){

       var  doc,
            node,
            result;

        var html = '<a class="h-card" href="http://glennjones.net"><span class="p-name">Glenn</span></a><a class="h-card" href="http://janedoe.net"><span class="p-name">Jane</span></a><a class="h-event" href="http://janedoe.net"><span class="p-name">Event</span><span class="dt-start">2015-07-01</span></a>';


        doc = document.implementation.createHTMLDocument('New Document');
        node =  document.createElement('div');
        node.innerHTML = html;
        doc.body.appendChild(node);

        options ={
            'node': node,
        };

        result = Microformats.count(options);
        assert.deepEqual( result, {'h-event': 1,'h-card': 2} );

   });


    it('count rels', function(){

       var  doc,
            node,
            result;

        var html = '<link href="http://glennjones.net/notes/atom" rel="notes alternate" title="Notes" type="application/atom+xml" /><a class="h-card" href="http://glennjones.net"><span class="p-name">Glenn</span></a><a class="h-card" href="http://janedoe.net"><span class="p-name">Jane</span></a><a class="h-event" href="http://janedoe.net"><span class="p-name">Event</span><span class="dt-start">2015-07-01</span></a>';


        doc = document.implementation.createHTMLDocument('New Document');
        node =  document.createElement('div');
        node.innerHTML = html;
        doc.body.appendChild(node);

        options ={
            'node': node,
        };

        result = Microformats.count(options);
        assert.deepEqual( result, {'h-event': 1,'h-card': 2, 'rels': 1} );

   });


   it('count - no results', function(){

       var  doc,
            node,
            result;

        var html = '<span class="p-name">Jane</span>';


        doc = document.implementation.createHTMLDocument('New Document');
        node =  document.createElement('div');
        node.innerHTML = html;
        doc.body.appendChild(node);

        options ={
            'node': node,
        };

        result = Microformats.count(options);
        assert.deepEqual( result, {} );

   });



   it('count - no options', function(){

       var result;

       result = Microformats.count({});
       assert.deepEqual( result, {} );

   });


   it('count - options.html', function(){

       var  options = {},
            result;

        options.html = '<a class="h-card" href="http://glennjones.net"><span class="p-name">Glenn</span></a><a class="h-card" href="http://janedoe.net"><span class="p-name">Jane</span></a><a class="h-event" href="http://janedoe.net"><span class="p-name">Event</span><span class="dt-start">2015-07-01</span></a>';

        result = Microformats.count(options);
        assert.deepEqual( result, {'h-event': 1,'h-card': 2} );

   });



 });