'use strict'; /* eslint-env mocha, jasmine */ var _ = require('../../src/common/utils.js'); describe('escapeHTML', function() { it('should escape HTML but preserve the default tags', function() { var test = '' + 'OTHER CONTENTVALUE2OTHER CONTENT$'; var actual = _.escapeHighlightedString(test); expect(actual).toEqual('<img src=VALUE1 onerror=alert(1) />OTHER CONTENTVALUE2OTHER CONTENT$'); }); it('should escape HTML but preserve the default tags when using custom tags', function() { var test = '' + 'OTHER CONTENTVALUE2OTHER CONTENT$'; var actual = _.escapeHighlightedString(test, '', ''); expect(actual).toEqual('<img src=VALUE1 onerror=alert(1) />OTHER CONTENTVALUE2OTHER CONTENT$'); }); it('should report the isMsie state correctly', function() { var actual = _.isMsie(); expect(actual).toEqual(false); }); it('should report the isMsie state correctly under a non-IE browser', function() { var ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'; var actual = _.isMsie(ua); expect(actual).toEqual(false); }); it('should report the isMsie state correctly under an IE browser', function() { var ua = 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'; var actual = _.isMsie(ua); expect(actual).toEqual('11.0'); }); it('should report the isMsie state correctly under a browser that includes Trident but is not IE', function() { var ua = 'Mozilla/5.0 (iPad; CPU OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77 KurogoVersion/2.7.7 (Kurogo iOS Tablet) KurogoOSVersion/11.4.1 KurogoAppVersion/2.0.1 (com.telerik.TridentUniversity)'; var actual = _.isMsie(ua); expect(actual).toEqual(false); }); }); describe('every', function() { // simulating an implementation of Array.prototype.each _.each = function(obj, callback) { for (var i = 0; i < obj.length; i++) { callback(obj[i], i, _); // note that we do not return here to break for loop, angular does not do this } }; it('_.every should return false when at least one result is false', function() { expect( _.every([ {isEmpty: true}, {isEmpty: false} ], function(dataset) { return dataset.isEmpty; })).toEqual(false); }); it('_.every should return false when each result is false', function() { expect( _.every([ {isEmpty: false}, {isEmpty: false} ], function(dataset) { return dataset.isEmpty; })).toEqual(false); }); it('_.every should return true when all results are true', function() { expect( _.every([ {isEmpty: true}, {isEmpty: true} ], function(dataset) { return dataset.isEmpty; })).toEqual(true); }); });