/*
Unit test for text
*/

assert = chai.assert;

// Tests the private Modules.text object
// Modules.text is unit tested as it has an interface access by other modules


describe('Modules.text', function() {


   it('parse', function(){
       var html = '\n   <a href="http://glennjones.net">Glenn\n Jones  \n</a>   \n',
           node = document.createElement('div');

       node.innerHTML = html;
       assert.equal( Modules.text.parse( document, node, 'whitespacetrimmed' ), 'Glenn\n Jones' );
       assert.equal( Modules.text.parse( document, node, 'whitespace' ), '\n   Glenn\n Jones  \n   \n' );
       assert.equal( Modules.text.parse( document, node, 'normalised' ), 'Glenn Jones' );

       // exclude tags
       node.innerHTML = '<script>test</script>text';
       assert.equal( Modules.text.parse( document, node, 'normalised' ), 'text' );

       // block level
       node.innerHTML = '<p>test</p>text';
       //assert.equal( Modules.text.parse( document, node, 'normalised' ), 'test text' );

       // node with no text data
       node = document.createComment('test comment');
       assert.equal( Modules.text.parse( document, node, 'normalised' ), '' );

   });


   it('parseText', function(){
       var text = '\n   <a href="http://glennjones.net">Glenn\n Jones  \n</a>   \n';

       // create DOM context first
       Modules.domUtils.getDOMContext( {} );

       assert.equal( Modules.text.parseText( document, text, 'whitespacetrimmed' ), 'Glenn\n Jones' );
       assert.equal( Modules.text.parseText( document, text, 'whitespace' ), '\n   Glenn\n Jones  \n   \n' );
       assert.equal( Modules.text.parseText( document, text, 'normalised' ), 'Glenn Jones' );
   });


   it('formatText', function(){
       assert.equal( Modules.text.formatText( document, null, 'whitespacetrimmed' ), '' );
   });



});