Add test_dataview (#4677)

JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
Gergo Csizi
2021-05-31 12:24:38 +00:00
committed by GitHub
parent 703ddae194
commit e8ed543677
4 changed files with 65 additions and 26 deletions
+29
View File
@@ -40,6 +40,28 @@ test_ext_function (const jerry_call_info_t *call_info_p, /**< call information *
return jerry_create_boolean (true);
} /* test_ext_function */
static jerry_object_type_t
test_namespace (const jerry_parse_options_t module_parse_options) /** module options */
{
jerry_value_t module = jerry_parse ((const jerry_char_t *) "", 0, &module_parse_options);
jerry_value_t module_linked = jerry_module_link (module, NULL, NULL);
jerry_object_type_t namespace = jerry_module_get_namespace (module);
jerry_release_value (module_linked);
jerry_release_value (module);
return namespace;
} /* test_namespace */
static jerry_value_t
test_dataview (void)
{
jerry_value_t arraybuffer = jerry_create_arraybuffer (10);
jerry_value_t dataview = jerry_create_dataview (arraybuffer, 0, 4);
jerry_release_value (arraybuffer);
return dataview;
} /* test_dataview */
int
main (void)
{
@@ -74,6 +96,7 @@ main (void)
const jerry_char_t regexp_object[] = "new RegExp()";
const jerry_char_t string_object[] = "new String('foo')";
const jerry_char_t weak_ref_object[] = "new WeakRef({})";
const jerry_char_t error_object[] = "new Error()";
jerry_parse_options_t module_parse_options;
module_parse_options.options = JERRY_PARSE_MODULE;
@@ -88,6 +111,7 @@ main (void)
ENTRY (JERRY_OBJECT_TYPE_NONE, jerry_create_error (JERRY_ERROR_TYPE, (const jerry_char_t *) "error")),
ENTRY (JERRY_OBJECT_TYPE_GENERIC, jerry_create_object ()),
ENTRY_IF (JERRY_OBJECT_TYPE_MODULE_NAMESPACE, test_namespace (module_parse_options), JERRY_FEATURE_MODULE),
ENTRY (JERRY_OBJECT_TYPE_ARRAY, jerry_create_array (10)),
ENTRY_IF (JERRY_OBJECT_TYPE_PROXY, EVALUATE (proxy_object), JERRY_FEATURE_PROXY),
@@ -97,6 +121,8 @@ main (void)
ENTRY (JERRY_OBJECT_TYPE_SCRIPT, PARSE (NULL)),
ENTRY_IF (JERRY_OBJECT_TYPE_MODULE, PARSE (&module_parse_options), JERRY_FEATURE_MODULE),
ENTRY_IF (JERRY_OBJECT_TYPE_PROMISE, jerry_create_promise (), JERRY_FEATURE_PROMISE),
ENTRY_IF (JERRY_OBJECT_TYPE_DATAVIEW, test_dataview (), JERRY_FEATURE_DATAVIEW),
ENTRY_IF (JERRY_OBJECT_TYPE_FUNCTION, EVALUATE (arrow_function), JERRY_FEATURE_SYMBOL),
ENTRY_IF (JERRY_OBJECT_TYPE_FUNCTION, EVALUATE (async_arrow_function), JERRY_FEATURE_SYMBOL),
ENTRY_IF (JERRY_OBJECT_TYPE_FUNCTION, EVALUATE (generator_function), JERRY_FEATURE_SYMBOL),
@@ -108,6 +134,8 @@ main (void)
ENTRY (JERRY_OBJECT_TYPE_FUNCTION, jerry_create_external_function (test_ext_function)),
ENTRY (JERRY_OBJECT_TYPE_FUNCTION, EVALUATE (getter_function)),
ENTRY (JERRY_OBJECT_TYPE_FUNCTION, EVALUATE (setter_function)),
ENTRY_IF (JERRY_OBJECT_TYPE_ERROR, EVALUATE (error_object), JERRY_FEATURE_ERROR_MESSAGES),
ENTRY_IF (JERRY_OBJECT_TYPE_ARRAYBUFFER, jerry_create_arraybuffer (10), JERRY_FEATURE_TYPEDARRAY),
ENTRY (JERRY_OBJECT_TYPE_ARGUMENTS, EVALUATE (mapped_arguments)),
ENTRY (JERRY_OBJECT_TYPE_ARGUMENTS, EVALUATE (unmapped_arguments)),
@@ -125,6 +153,7 @@ main (void)
for (size_t idx = 0; idx < sizeof (entries) / sizeof (entries[0]); idx++)
{
jerry_object_type_t type_info = jerry_object_get_type (entries[idx].value);
TEST_ASSERT (!entries[idx].active || type_info == entries[idx].type_info);
jerry_release_value (entries[idx].value);
}