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')"
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"
def test_CreateRangeError_01(realm): re = ecmascript.CreateRangeError("test range error") assert ecmascript.isObject(re) assert ecmascript.ToString(re) == "RangeError: test range error"
def test_CreateSyntaxError_01(realm): re = ecmascript.CreateSyntaxError("test syntax error") assert ecmascript.isObject(re) assert ecmascript.ToString(re) == "SyntaxError: test syntax error"
def test_CreateTypeError_01(realm): re = ecmascript.CreateTypeError("test type error") assert ecmascript.isObject(re) assert ecmascript.ToString(re) == "TypeError: test type error"
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"