mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Add new test for resource_name (#4737)
JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
parent
5a69b183c3
commit
b4fc591398
@ -5412,14 +5412,11 @@ jerry_get_resource_name (const jerry_value_t value) /**< jerry api value */
|
||||
ecma_value_t script_value = ((cbc_uint8_arguments_t *) bytecode_p)->script_value;
|
||||
cbc_script_t *script_p = ECMA_GET_INTERNAL_VALUE_POINTER (cbc_script_t, script_value);
|
||||
|
||||
if (CBC_SCRIPT_GET_TYPE (script_p) == CBC_SCRIPT_GENERIC)
|
||||
{
|
||||
return ecma_copy_value (script_p->resource_name);
|
||||
}
|
||||
#endif /* JERRY_RESOURCE_NAME */
|
||||
|
||||
return ecma_copy_value (script_p->resource_name);
|
||||
#else /* !JERRY_RESOURCE_NAME */
|
||||
JERRY_UNUSED (value);
|
||||
return ecma_make_magic_string_value (LIT_MAGIC_STRING_RESOURCE_ANON);
|
||||
#endif /* JERRY_RESOURCE_NAME */
|
||||
} /* jerry_get_resource_name */
|
||||
|
||||
/**
|
||||
|
||||
@ -781,7 +781,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_DATE_UL, "setUTCDate")
|
||||
#if JERRY_BUILTIN_STRING && JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STARTS_WITH, "startsWith")
|
||||
#endif
|
||||
#if JERRY_RESOURCE_NAME \
|
||||
|| !(JERRY_RESOURCE_NAME)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RESOURCE_ANON, "<anonymous>")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARRAY_BUFFER_UL, "ArrayBuffer")
|
||||
#endif
|
||||
@ -1127,7 +1130,20 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_COPY_WITHIN)
|
||||
#else
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_ENUMERABLE)
|
||||
#endif
|
||||
#if JERRY_RESOURCE_NAME \
|
||||
|| !(JERRY_RESOURCE_NAME)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_RESOURCE_ANON)
|
||||
#elif JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_ARRAY_BUFFER_UL)
|
||||
#elif JERRY_BUILTIN_ERRORS
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_SYNTAX_ERROR_UL)
|
||||
#elif JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_UINT16_ARRAY_UL)
|
||||
#elif JERRY_BUILTIN_STRING && JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_CODE_POINT_AT)
|
||||
#else
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_CONSTRUCTOR)
|
||||
#endif
|
||||
#if JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_FLOAT32_ARRAY_UL)
|
||||
#elif JERRY_BUILTIN_TYPEDARRAY && JERRY_NUMBER_TYPE_FLOAT64
|
||||
|
||||
@ -81,7 +81,12 @@ main (void)
|
||||
TEST_ASSERT (jerry_value_is_object (run_result));
|
||||
|
||||
jerry_value_t resource_value = jerry_get_resource_name (run_result);
|
||||
TEST_ASSERT (jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name));
|
||||
jerry_value_t compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL,
|
||||
resource_value,
|
||||
parse_options.resource_name);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
|
||||
jerry_release_value (compare_result);
|
||||
jerry_release_value (resource_value);
|
||||
jerry_release_value (parse_options.resource_name);
|
||||
|
||||
@ -110,7 +115,10 @@ main (void)
|
||||
TEST_ASSERT (jerry_value_is_object (run_result));
|
||||
|
||||
resource_value = jerry_get_resource_name (run_result);
|
||||
TEST_ASSERT (jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name));
|
||||
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
|
||||
jerry_release_value (compare_result);
|
||||
jerry_release_value (resource_value);
|
||||
jerry_release_value (parse_options.resource_name);
|
||||
|
||||
@ -118,6 +126,7 @@ main (void)
|
||||
jerry_release_value (program);
|
||||
if (jerry_is_feature_enabled (JERRY_FEATURE_MODULE))
|
||||
{
|
||||
jerry_value_t anon = jerry_create_string ((const jerry_char_t *) "<anonymous>");
|
||||
const char *source_3 = "";
|
||||
|
||||
parse_options.options = JERRY_PARSE_MODULE | JERRY_PARSE_HAS_RESOURCE;
|
||||
@ -129,14 +138,20 @@ main (void)
|
||||
TEST_ASSERT (!jerry_value_is_error (program));
|
||||
|
||||
resource_value = jerry_get_resource_name (program);
|
||||
TEST_ASSERT (jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name));
|
||||
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
|
||||
jerry_release_value (compare_result);
|
||||
jerry_release_value (resource_value);
|
||||
|
||||
run_result = jerry_module_link (program, NULL, NULL);
|
||||
TEST_ASSERT (!jerry_value_is_error (run_result));
|
||||
|
||||
resource_value = jerry_get_resource_name (run_result);
|
||||
TEST_ASSERT (jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name));
|
||||
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, anon);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
|
||||
jerry_release_value (compare_result);
|
||||
jerry_release_value (resource_value);
|
||||
jerry_release_value (run_result);
|
||||
|
||||
@ -144,7 +159,10 @@ main (void)
|
||||
TEST_ASSERT (!jerry_value_is_error (run_result));
|
||||
|
||||
resource_value = jerry_get_resource_name (run_result);
|
||||
TEST_ASSERT (jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name));
|
||||
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, anon);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
|
||||
jerry_release_value (compare_result);
|
||||
jerry_release_value (resource_value);
|
||||
jerry_release_value (run_result);
|
||||
jerry_release_value (program);
|
||||
@ -166,13 +184,36 @@ main (void)
|
||||
TEST_ASSERT (jerry_value_is_object (run_result));
|
||||
|
||||
resource_value = jerry_get_resource_name (run_result);
|
||||
TEST_ASSERT (jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name));
|
||||
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
jerry_release_value (compare_result);
|
||||
|
||||
jerry_release_value (resource_value);
|
||||
jerry_release_value (parse_options.resource_name);
|
||||
jerry_release_value (run_result);
|
||||
jerry_release_value (program);
|
||||
|
||||
const char *source_5 = "";
|
||||
|
||||
parse_options.options = JERRY_PARSE_HAS_USER_VALUE | JERRY_PARSE_HAS_RESOURCE;
|
||||
parse_options.user_value = jerry_create_object ();
|
||||
parse_options.resource_name = jerry_create_string ((jerry_char_t *) "demo5.js");
|
||||
|
||||
program = jerry_parse ((const jerry_char_t *) source_5,
|
||||
strlen (source_5),
|
||||
&parse_options);
|
||||
TEST_ASSERT (!jerry_value_is_error (program));
|
||||
|
||||
resource_value = jerry_get_resource_name (program);
|
||||
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name);
|
||||
TEST_ASSERT (jerry_value_is_true (compare_result));
|
||||
|
||||
jerry_release_value (resource_value);
|
||||
jerry_release_value (compare_result);
|
||||
jerry_release_value (parse_options.user_value);
|
||||
jerry_release_value (parse_options.resource_name);
|
||||
jerry_release_value (program);
|
||||
|
||||
jerry_cleanup ();
|
||||
|
||||
return 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user