Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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 jasmine/jasmine#234
  • Loading branch information...
commit c8436d1d44baec389266de8e7acd76a61b65711b 1 parent 639f757
@yopefonic authored
View
3  lib/jasmine-core/jasmine.js
@@ -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);
};
View
7 spec/core/MatchersSpec.js
@@ -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() {
View
3  src/core/Env.js
@@ -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);
};
Please sign in to comment.
Something went wrong with that request. Please try again.