adding a check for the sticky regExp option supported by Firefox and accepted by the ES6. Note that the tests for this case are checking for the support of the sticky parameter. the logic is still tested by the other expect statements in browsers that do not support sticky but will never enter that block as creating a regExp with that flag is not allowed. Coverage is still good. See pivotal/jasmine#234
This commit is contained in:
@@ -887,6 +887,9 @@ jasmine.Env.prototype.compareRegExps_ = function(a, b, mismatchKeys, mismatchVal
|
||||
if (a.multiline != b.multiline)
|
||||
mismatchValues.push("expected modifier m was" + (b.multiline ? " " : " not ") + "set and does not equal the origin modifier");
|
||||
|
||||
if (a.sticky != b.sticky)
|
||||
mismatchValues.push("expected modifier y was" + (b.sticky ? " " : " not ") + "set and does not equal the origin modifier");
|
||||
|
||||
return (mismatchValues.length === 0);
|
||||
};
|
||||
|
||||
|
||||
@@ -80,6 +80,13 @@ describe("jasmine.Matchers", function() {
|
||||
expect((match(/1/i).toNotEqual(/1/i))).toFail();
|
||||
expect((match(/[abc]/gm).toEqual(/1/i))).toFail();
|
||||
expect((match(/[abc]/gm).toNotEqual(/1/i))).toPass();
|
||||
|
||||
// only test if the browser supports the sticky option on a regExp see pull #234
|
||||
if (RegExp.prototype.sticky !== undefined) {
|
||||
var sticky_regexp = new RegExp("[abc]", "y");
|
||||
expect((match(sticky_regexp).toEqual(/1/i))).toFail();
|
||||
expect((match(sticky_regexp).toNotEqual(/1/i))).toPass();
|
||||
}
|
||||
});
|
||||
|
||||
it("toEqual to build an Expectation Result", function() {
|
||||
|
||||
@@ -181,6 +181,9 @@ jasmine.Env.prototype.compareRegExps_ = function(a, b, mismatchKeys, mismatchVal
|
||||
if (a.multiline != b.multiline)
|
||||
mismatchValues.push("expected modifier m was" + (b.multiline ? " " : " not ") + "set and does not equal the origin modifier");
|
||||
|
||||
if (a.sticky != b.sticky)
|
||||
mismatchValues.push("expected modifier y was" + (b.sticky ? " " : " not ") + "set and does not equal the origin modifier");
|
||||
|
||||
return (mismatchValues.length === 0);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user