describe('highlight', function() { it('should allow tagName to be specified', function() { var before = 'abcde', after = 'abcde', testNode = buildTestNode(before); highlight({ node: testNode, pattern: 'bcd', tagName: 'span' }); expect(testNode.innerHTML).toEqual(after); }); it('should allow className to be specified', function() { var before = 'abcde', after = 'abcde', testNode = buildTestNode(before); highlight({ node: testNode, pattern: 'bcd', className: 'one two' }); expect(testNode.innerHTML).toEqual(after); }); it('should be case insensitive by default', function() { var before = 'ABCDE', after = 'ABCDE', testNode = buildTestNode(before); highlight({ node: testNode, pattern: 'bcd' }); expect(testNode.innerHTML).toEqual(after); }); it('should support case sensitivity', function() { var before = 'ABCDE', after = 'ABCDE', testNode = buildTestNode(before); highlight({ node: testNode, pattern: 'bcd', caseSensitive: true }); expect(testNode.innerHTML).toEqual(after); }); it('should support words only matching', function() { var before = 'tone one phone', after = 'tone one phone', testNode = buildTestNode(before); highlight({ node: testNode, pattern: 'one', wordsOnly: true }); expect(testNode.innerHTML).toEqual(after); }); it('should support matching multiple patterns', function() { var before = 'tone one phone', after = 'tone one phone', testNode = buildTestNode(before); highlight({ node: testNode, pattern: ['tone', 'phone'] }); expect(testNode.innerHTML).toEqual(after); }); it('should support regex chars in the pattern', function() { var before = '*.js when?', after = '*.js when?', testNode = buildTestNode(before); highlight({ node: testNode, pattern: ['*.', '?'] }); expect(testNode.innerHTML).toEqual(after); }); it('should work on complex html structures', function() { var before = [ '
abcde
abcde