[JSC] Clean up Object.entries implementation
[WebKit-https.git] / JSTests / microbenchmarks / regexp-prototype-search-observable-side-effects2.js
1 //@ runNoFTL
2
3 function assert(testedValue, msg) {
4     if (!testedValue)
5         throw Error(msg);
6 }
7
8 // RegExp.prototype with overridden exec.
9 (function () {
10     let accesses = [];
11     let origExec = RegExp.prototype.exec;
12
13     let obj = /rch/;
14     Object.defineProperty(RegExp.prototype, "exec", {
15         value: function(str) {
16             accesses.push("exec");
17             return origExec.call(this, str);
18         }
19     });
20
21     assert(accesses == "", "unexpected call to overridden props");
22     let result = RegExp.prototype[Symbol.search].call(obj, "searchme");
23     assert(accesses == "exec", "Property accesses do not match expectation");
24     assert(result === 3, "Unexpected result");
25 })();
26