Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "jsapi-tests/tests.h"
7 BEGIN_TEST(testObjectIsRegExp)
8 {
9 JS::RootedValue val(cx);
11 EVAL("new Object", &val);
12 JS::RootedObject obj(cx, JSVAL_TO_OBJECT(val));
13 CHECK(!JS_ObjectIsRegExp(cx, obj));
15 EVAL("/foopy/", &val);
16 obj = JSVAL_TO_OBJECT(val);
17 CHECK(JS_ObjectIsRegExp(cx, obj));
19 return true;
20 }
21 END_TEST(testObjectIsRegExp)
23 BEGIN_TEST(testGetRegExpFlags)
24 {
25 JS::RootedValue val(cx);
26 JS::RootedObject obj(cx);
28 EVAL("/foopy/", &val);
29 obj = JSVAL_TO_OBJECT(val);
30 CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), 0);
32 EVAL("/foopy/g", &val);
33 obj = JSVAL_TO_OBJECT(val);
34 CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), JSREG_GLOB);
36 EVAL("/foopy/gi", &val);
37 obj = JSVAL_TO_OBJECT(val);
38 CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), (JSREG_FOLD | JSREG_GLOB));
40 return true;
41 }
42 END_TEST(testGetRegExpFlags)
44 BEGIN_TEST(testGetRegExpSource)
45 {
46 JS::RootedValue val(cx);
47 JS::RootedObject obj(cx);
49 EVAL("/foopy/", &val);
50 obj = JSVAL_TO_OBJECT(val);
51 JSString *source = JS_GetRegExpSource(cx, obj);
52 CHECK(JS_FlatStringEqualsAscii(JS_ASSERT_STRING_IS_FLAT(source), "foopy"));
54 return true;
55 }
56 END_TEST(testGetRegExpSource)