mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-06-27 02:29:35 +00:00
61 lines
1.5 KiB
C++
61 lines
1.5 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "jsapi-tests/tests.h"
|
|
|
|
BEGIN_TEST(testObjectIsRegExp)
|
|
{
|
|
JS::RootedValue val(cx);
|
|
|
|
bool isRegExp;
|
|
|
|
EVAL("new Object", &val);
|
|
JS::RootedObject obj(cx, val.toObjectOrNull());
|
|
CHECK(JS_ObjectIsRegExp(cx, obj, &isRegExp));
|
|
CHECK(!isRegExp);
|
|
|
|
EVAL("/foopy/", &val);
|
|
obj = val.toObjectOrNull();
|
|
CHECK(JS_ObjectIsRegExp(cx, obj, &isRegExp));
|
|
CHECK(isRegExp);
|
|
|
|
return true;
|
|
}
|
|
END_TEST(testObjectIsRegExp)
|
|
|
|
BEGIN_TEST(testGetRegExpFlags)
|
|
{
|
|
JS::RootedValue val(cx);
|
|
JS::RootedObject obj(cx);
|
|
|
|
EVAL("/foopy/", &val);
|
|
obj = val.toObjectOrNull();
|
|
CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), 0u);
|
|
|
|
EVAL("/foopy/g", &val);
|
|
obj = val.toObjectOrNull();
|
|
CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), JSREG_GLOB);
|
|
|
|
EVAL("/foopy/gi", &val);
|
|
obj = val.toObjectOrNull();
|
|
CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), (JSREG_FOLD | JSREG_GLOB));
|
|
|
|
return true;
|
|
}
|
|
END_TEST(testGetRegExpFlags)
|
|
|
|
BEGIN_TEST(testGetRegExpSource)
|
|
{
|
|
JS::RootedValue val(cx);
|
|
JS::RootedObject obj(cx);
|
|
|
|
EVAL("/foopy/", &val);
|
|
obj = val.toObjectOrNull();
|
|
JSString* source = JS_GetRegExpSource(cx, obj);
|
|
CHECK(JS_FlatStringEqualsAscii(JS_ASSERT_STRING_IS_FLAT(source), "foopy"));
|
|
|
|
return true;
|
|
}
|
|
END_TEST(testGetRegExpSource)
|