js/src/jsapi-tests/testRegExp.cpp

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:f35bd41c322a
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/. */
4
5 #include "jsapi-tests/tests.h"
6
7 BEGIN_TEST(testObjectIsRegExp)
8 {
9 JS::RootedValue val(cx);
10
11 EVAL("new Object", &val);
12 JS::RootedObject obj(cx, JSVAL_TO_OBJECT(val));
13 CHECK(!JS_ObjectIsRegExp(cx, obj));
14
15 EVAL("/foopy/", &val);
16 obj = JSVAL_TO_OBJECT(val);
17 CHECK(JS_ObjectIsRegExp(cx, obj));
18
19 return true;
20 }
21 END_TEST(testObjectIsRegExp)
22
23 BEGIN_TEST(testGetRegExpFlags)
24 {
25 JS::RootedValue val(cx);
26 JS::RootedObject obj(cx);
27
28 EVAL("/foopy/", &val);
29 obj = JSVAL_TO_OBJECT(val);
30 CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), 0);
31
32 EVAL("/foopy/g", &val);
33 obj = JSVAL_TO_OBJECT(val);
34 CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), JSREG_GLOB);
35
36 EVAL("/foopy/gi", &val);
37 obj = JSVAL_TO_OBJECT(val);
38 CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), (JSREG_FOLD | JSREG_GLOB));
39
40 return true;
41 }
42 END_TEST(testGetRegExpFlags)
43
44 BEGIN_TEST(testGetRegExpSource)
45 {
46 JS::RootedValue val(cx);
47 JS::RootedObject obj(cx);
48
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"));
53
54 return true;
55 }
56 END_TEST(testGetRegExpSource)

mercurial