summaryrefslogtreecommitdiff
path: root/harness
diff options
context:
space:
mode:
Diffstat (limited to 'harness')
-rw-r--r--harness/nativeFunctionMatcher.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/harness/nativeFunctionMatcher.js b/harness/nativeFunctionMatcher.js
index 0a2d248a3..52120ea48 100644
--- a/harness/nativeFunctionMatcher.js
+++ b/harness/nativeFunctionMatcher.js
@@ -6,3 +6,17 @@ description: |
the NativeFunction grammar production without requiring a correct tokeniser.
---*/
const NATIVE_FUNCTION_RE = /\bfunction\b[\s\S]*\([\s\S]*\)[\s\S]*\{[\s\S]*\[[\s\S]*\bnative\b[\s\S]+\bcode\b[\s\S]*\][\s\S]*\}/;
+
+const assertToStringOrNativeFunction = function(fn, expected) {
+ const actual = "" + fn;
+ try {
+ assert.sameValue(actual, expected);
+ } catch (unused) {
+ assertNativeFunction(fn);
+ }
+};
+
+const assertNativeFunction = function(fn) {
+ const actual = "" + fn;
+ assert(NATIVE_FUNCTION_RE.test(actual), "looks pretty much like a NativeFunction");
+};