예제 #1
0
def test_StringObjectInit_01(realm):
    proto = realm.intrinsics["%ObjectPrototype%"]

    string = e.StringObject("test value", proto)

    assert e.isObject(string)
    assert string.IsExtensible()
    assert string.GetPrototypeOf() == proto
    assert f"{string!r}" == "String('test value')"
예제 #2
0
def test_StringCreate_01(realm):
    proto = realm.intrinsics["%ObjectPrototype%"]

    res = e.StringCreate("test value", proto)

    assert e.isObject(res)
    assert isinstance(res, e.StringObject)
    assert hasattr(res, "StringData")
    assert res.StringData == "test value"
예제 #3
0
def test_CreateRangeError_01(realm):
    re = ecmascript.CreateRangeError("test range error")

    assert ecmascript.isObject(re)
    assert ecmascript.ToString(re) == "RangeError: test range error"
예제 #4
0
def test_CreateSyntaxError_01(realm):
    re = ecmascript.CreateSyntaxError("test syntax error")

    assert ecmascript.isObject(re)
    assert ecmascript.ToString(re) == "SyntaxError: test syntax error"
예제 #5
0
def test_CreateTypeError_01(realm):
    re = ecmascript.CreateTypeError("test type error")

    assert ecmascript.isObject(re)
    assert ecmascript.ToString(re) == "TypeError: test type error"
예제 #6
0
def test_CreateErrorObject_02(realm, intrinsic_name):
    rv = ecmascript.CreateErrorObject("test message", f"%{intrinsic_name}%")
    assert ecmascript.isObject(rv)
    assert ecmascript.ToString(rv) == f"{intrinsic_name}: test message"