1 : #include "tests.h"
2 :
3 4 : BEGIN_TEST(testObjectIsRegExp)
4 : {
5 2 : jsvalRoot val(cx);
6 : JSObject *obj;
7 :
8 1 : EVAL("new Object", val.addr());
9 1 : obj = JSVAL_TO_OBJECT(val.value());
10 1 : CHECK(!JS_ObjectIsRegExp(cx, obj));
11 :
12 1 : EVAL("/foopy/", val.addr());
13 1 : obj = JSVAL_TO_OBJECT(val.value());
14 1 : CHECK(JS_ObjectIsRegExp(cx, obj));
15 :
16 1 : return true;
17 : }
18 1 : END_TEST(testObjectIsRegExp)
19 :
20 4 : BEGIN_TEST(testGetRegExpFlags)
21 : {
22 2 : jsvalRoot val(cx);
23 : JSObject *obj;
24 :
25 1 : EVAL("/foopy/", val.addr());
26 1 : obj = JSVAL_TO_OBJECT(val.value());
27 1 : CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), 0);
28 :
29 1 : EVAL("/foopy/g", val.addr());
30 1 : obj = JSVAL_TO_OBJECT(val.value());
31 1 : CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), JSREG_GLOB);
32 :
33 1 : EVAL("/foopy/gi", val.addr());
34 1 : obj = JSVAL_TO_OBJECT(val.value());
35 1 : CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), (JSREG_FOLD | JSREG_GLOB));
36 :
37 1 : return true;
38 : }
39 1 : END_TEST(testGetRegExpFlags)
40 :
41 4 : BEGIN_TEST(testGetRegExpSource)
42 : {
43 2 : jsvalRoot val(cx);
44 : JSObject *obj;
45 :
46 1 : EVAL("/foopy/", val.addr());
47 1 : obj = JSVAL_TO_OBJECT(val.value());
48 1 : JSString *source = JS_GetRegExpSource(cx, obj);
49 1 : CHECK(JS_FlatStringEqualsAscii(JS_ASSERT_STRING_IS_FLAT(source), "foopy"));
50 :
51 1 : return true;
52 : }
53 3 : END_TEST(testGetRegExpSource)
|