Warp/node_modules/mark.js/test/specs/regexp/main.js
2024-01-05 19:14:38 +07:00

42 lines
1.3 KiB
JavaScript

'use strict';
describe('mark with regular expression', function() {
var $ctx1, $ctx2, errorThrown, ret;
beforeEach(function(done) {
loadFixtures('regexp/main.html');
$ctx1 = $('.regexp > div:first-child');
$ctx2 = $('.regexp > div:last-child');
errorThrown = false;
ret = new Mark($ctx1[0]).markRegExp(/Lor[^]?m/gmi, {
'done': function() {
try {
new Mark($ctx2[0]).markRegExp(/(Lor)([^]?m)/gmi, {
'done': function() {
// timeout, otherwise "ret =" will not be executed
setTimeout(function() {
done();
}, 50);
}
});
} catch (e) {
errorThrown = true;
done();
}
}
});
});
it('should wrap matches', function() {
expect($ctx1.find('mark')).toHaveLength(4);
});
it('should silently ignore groups in regular expressions', function() {
expect($ctx2.find('mark')).toHaveLength(4);
expect(errorThrown).toBe(false);
});
it('should return an object with further methods', function() {
expect(ret instanceof Mark).toBe(true);
expect(typeof ret.mark).toBe('function');
expect(typeof ret.unmark).toBe('function');
expect(typeof ret.markRegExp).toBe('function');
});
});