js/src/jsapi-tests/testRegExp.cpp

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jsapi-tests/testRegExp.cpp	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,56 @@
     1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.7 +
     1.8 +#include "jsapi-tests/tests.h"
     1.9 +
    1.10 +BEGIN_TEST(testObjectIsRegExp)
    1.11 +{
    1.12 +    JS::RootedValue val(cx);
    1.13 +
    1.14 +    EVAL("new Object", &val);
    1.15 +    JS::RootedObject obj(cx, JSVAL_TO_OBJECT(val));
    1.16 +    CHECK(!JS_ObjectIsRegExp(cx, obj));
    1.17 +
    1.18 +    EVAL("/foopy/", &val);
    1.19 +    obj = JSVAL_TO_OBJECT(val);
    1.20 +    CHECK(JS_ObjectIsRegExp(cx, obj));
    1.21 +
    1.22 +    return true;
    1.23 +}
    1.24 +END_TEST(testObjectIsRegExp)
    1.25 +
    1.26 +BEGIN_TEST(testGetRegExpFlags)
    1.27 +{
    1.28 +    JS::RootedValue val(cx);
    1.29 +    JS::RootedObject obj(cx);
    1.30 +
    1.31 +    EVAL("/foopy/", &val);
    1.32 +    obj = JSVAL_TO_OBJECT(val);
    1.33 +    CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), 0);
    1.34 +
    1.35 +    EVAL("/foopy/g", &val);
    1.36 +    obj = JSVAL_TO_OBJECT(val);
    1.37 +    CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), JSREG_GLOB);
    1.38 +
    1.39 +    EVAL("/foopy/gi", &val);
    1.40 +    obj = JSVAL_TO_OBJECT(val);
    1.41 +    CHECK_EQUAL(JS_GetRegExpFlags(cx, obj), (JSREG_FOLD | JSREG_GLOB));
    1.42 +
    1.43 +    return true;
    1.44 +}
    1.45 +END_TEST(testGetRegExpFlags)
    1.46 +
    1.47 +BEGIN_TEST(testGetRegExpSource)
    1.48 +{
    1.49 +    JS::RootedValue val(cx);
    1.50 +    JS::RootedObject obj(cx);
    1.51 +
    1.52 +    EVAL("/foopy/", &val);
    1.53 +    obj = JSVAL_TO_OBJECT(val);
    1.54 +    JSString *source = JS_GetRegExpSource(cx, obj);
    1.55 +    CHECK(JS_FlatStringEqualsAscii(JS_ASSERT_STRING_IS_FLAT(source), "foopy"));
    1.56 +
    1.57 +    return true;
    1.58 +}
    1.59 +END_TEST(testGetRegExpSource)

mercurial