mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-29 10:02:14 +00:00
Pass tests in es5 test262 ch15.2.3.3 (except for URI-related features)
- Add every builtin function templates in es5 - Modification on Makefile target "check" should not trigger rebuild - Add JSON object - Implement some toString functions - Initialize m_value properly in ObjectPropertyDescriptor constructor
This commit is contained in:
parent
3aa287ee25
commit
c8840465d1
17 changed files with 670 additions and 183 deletions
|
|
@ -270,6 +270,30 @@ static Value builtinParseFloat(ExecutionState& state, Value thisValue, size_t ar
|
|||
return Value(number);
|
||||
}
|
||||
|
||||
static Value builtinEncodeURI(ExecutionState& state, Value thisValue, size_t argc, Value* argv, bool isNewExpression)
|
||||
{
|
||||
state.throwException(new ASCIIString(errorMessage_NotImplemented));
|
||||
RELEASE_ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
static Value builtinDecodeURI(ExecutionState& state, Value thisValue, size_t argc, Value* argv, bool isNewExpression)
|
||||
{
|
||||
state.throwException(new ASCIIString(errorMessage_NotImplemented));
|
||||
RELEASE_ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
static Value builtinEncodeURIComponent(ExecutionState& state, Value thisValue, size_t argc, Value* argv, bool isNewExpression)
|
||||
{
|
||||
state.throwException(new ASCIIString(errorMessage_NotImplemented));
|
||||
RELEASE_ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
static Value builtinDecodeURIComponent(ExecutionState& state, Value thisValue, size_t argc, Value* argv, bool isNewExpression)
|
||||
{
|
||||
state.throwException(new ASCIIString(errorMessage_NotImplemented));
|
||||
RELEASE_ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
static Value builtinIsFinite(ExecutionState& state, Value thisValue, size_t argc, Value* argv, bool isNewExpression)
|
||||
{
|
||||
double num = argv[0].toNumber(state);
|
||||
|
|
@ -318,6 +342,25 @@ void GlobalObject::installOthers(ExecutionState& state)
|
|||
NativeFunctionInfo(strings->parseFloat, builtinParseFloat, 1, nullptr, NativeFunctionInfo::Strict), false),
|
||||
(ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
|
||||
|
||||
defineOwnProperty(state, ObjectPropertyName(strings->encodeURI),
|
||||
ObjectPropertyDescriptor(new FunctionObject(state,
|
||||
NativeFunctionInfo(strings->encodeURI, builtinEncodeURI, 1, nullptr, NativeFunctionInfo::Strict), false),
|
||||
(ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
|
||||
|
||||
defineOwnProperty(state, ObjectPropertyName(strings->decodeURI),
|
||||
ObjectPropertyDescriptor(new FunctionObject(state,
|
||||
NativeFunctionInfo(strings->decodeURI, builtinDecodeURI, 1, nullptr, NativeFunctionInfo::Strict), false),
|
||||
(ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
|
||||
|
||||
defineOwnProperty(state, ObjectPropertyName(strings->encodeURIComponent),
|
||||
ObjectPropertyDescriptor(new FunctionObject(state,
|
||||
NativeFunctionInfo(strings->encodeURIComponent, builtinEncodeURIComponent, 1, nullptr, NativeFunctionInfo::Strict), false),
|
||||
(ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
|
||||
|
||||
defineOwnProperty(state, ObjectPropertyName(strings->decodeURIComponent),
|
||||
ObjectPropertyDescriptor(new FunctionObject(state,
|
||||
NativeFunctionInfo(strings->decodeURIComponent, builtinDecodeURIComponent, 1, nullptr, NativeFunctionInfo::Strict), false),
|
||||
(ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
|
||||
#ifdef ESCARGOT_SHELL
|
||||
defineOwnProperty(state, ObjectPropertyName(strings->print),
|
||||
ObjectPropertyDescriptor(new FunctionObject(state,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue