Add new test for resource_name (#4737)
JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
@@ -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;
|
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);
|
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);
|
||||||
{
|
#else /* !JERRY_RESOURCE_NAME */
|
||||||
return ecma_copy_value (script_p->resource_name);
|
|
||||||
}
|
|
||||||
#endif /* JERRY_RESOURCE_NAME */
|
|
||||||
|
|
||||||
JERRY_UNUSED (value);
|
JERRY_UNUSED (value);
|
||||||
return ecma_make_magic_string_value (LIT_MAGIC_STRING_RESOURCE_ANON);
|
return ecma_make_magic_string_value (LIT_MAGIC_STRING_RESOURCE_ANON);
|
||||||
|
#endif /* JERRY_RESOURCE_NAME */
|
||||||
} /* jerry_get_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
|
#if JERRY_BUILTIN_STRING && JERRY_ESNEXT
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STARTS_WITH, "startsWith")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STARTS_WITH, "startsWith")
|
||||||
#endif
|
#endif
|
||||||
|
#if JERRY_RESOURCE_NAME \
|
||||||
|
|| !(JERRY_RESOURCE_NAME)
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RESOURCE_ANON, "<anonymous>")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RESOURCE_ANON, "<anonymous>")
|
||||||
|
#endif
|
||||||
#if JERRY_BUILTIN_TYPEDARRAY
|
#if JERRY_BUILTIN_TYPEDARRAY
|
||||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARRAY_BUFFER_UL, "ArrayBuffer")
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARRAY_BUFFER_UL, "ArrayBuffer")
|
||||||
#endif
|
#endif
|
||||||
@@ -1127,7 +1130,20 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_COPY_WITHIN)
|
|||||||
#else
|
#else
|
||||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_ENUMERABLE)
|
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_ENUMERABLE)
|
||||||
#endif
|
#endif
|
||||||
|
#if JERRY_RESOURCE_NAME \
|
||||||
|
|| !(JERRY_RESOURCE_NAME)
|
||||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_RESOURCE_ANON)
|
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
|
#if JERRY_BUILTIN_TYPEDARRAY
|
||||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_FLOAT32_ARRAY_UL)
|
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_FLOAT32_ARRAY_UL)
|
||||||
#elif JERRY_BUILTIN_TYPEDARRAY && JERRY_NUMBER_TYPE_FLOAT64
|
#elif JERRY_BUILTIN_TYPEDARRAY && JERRY_NUMBER_TYPE_FLOAT64
|
||||||
|
|||||||
@@ -81,7 +81,12 @@ main (void)
|
|||||||
TEST_ASSERT (jerry_value_is_object (run_result));
|
TEST_ASSERT (jerry_value_is_object (run_result));
|
||||||
|
|
||||||
jerry_value_t resource_value = jerry_get_resource_name (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 (resource_value);
|
||||||
jerry_release_value (parse_options.resource_name);
|
jerry_release_value (parse_options.resource_name);
|
||||||
|
|
||||||
@@ -110,7 +115,10 @@ main (void)
|
|||||||
TEST_ASSERT (jerry_value_is_object (run_result));
|
TEST_ASSERT (jerry_value_is_object (run_result));
|
||||||
|
|
||||||
resource_value = jerry_get_resource_name (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 (resource_value);
|
||||||
jerry_release_value (parse_options.resource_name);
|
jerry_release_value (parse_options.resource_name);
|
||||||
|
|
||||||
@@ -118,6 +126,7 @@ main (void)
|
|||||||
jerry_release_value (program);
|
jerry_release_value (program);
|
||||||
if (jerry_is_feature_enabled (JERRY_FEATURE_MODULE))
|
if (jerry_is_feature_enabled (JERRY_FEATURE_MODULE))
|
||||||
{
|
{
|
||||||
|
jerry_value_t anon = jerry_create_string ((const jerry_char_t *) "<anonymous>");
|
||||||
const char *source_3 = "";
|
const char *source_3 = "";
|
||||||
|
|
||||||
parse_options.options = JERRY_PARSE_MODULE | JERRY_PARSE_HAS_RESOURCE;
|
parse_options.options = JERRY_PARSE_MODULE | JERRY_PARSE_HAS_RESOURCE;
|
||||||
@@ -129,14 +138,20 @@ main (void)
|
|||||||
TEST_ASSERT (!jerry_value_is_error (program));
|
TEST_ASSERT (!jerry_value_is_error (program));
|
||||||
|
|
||||||
resource_value = jerry_get_resource_name (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);
|
jerry_release_value (resource_value);
|
||||||
|
|
||||||
run_result = jerry_module_link (program, NULL, NULL);
|
run_result = jerry_module_link (program, NULL, NULL);
|
||||||
TEST_ASSERT (!jerry_value_is_error (run_result));
|
TEST_ASSERT (!jerry_value_is_error (run_result));
|
||||||
|
|
||||||
resource_value = jerry_get_resource_name (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 (resource_value);
|
||||||
jerry_release_value (run_result);
|
jerry_release_value (run_result);
|
||||||
|
|
||||||
@@ -144,7 +159,10 @@ main (void)
|
|||||||
TEST_ASSERT (!jerry_value_is_error (run_result));
|
TEST_ASSERT (!jerry_value_is_error (run_result));
|
||||||
|
|
||||||
resource_value = jerry_get_resource_name (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 (resource_value);
|
||||||
jerry_release_value (run_result);
|
jerry_release_value (run_result);
|
||||||
jerry_release_value (program);
|
jerry_release_value (program);
|
||||||
@@ -166,13 +184,36 @@ main (void)
|
|||||||
TEST_ASSERT (jerry_value_is_object (run_result));
|
TEST_ASSERT (jerry_value_is_object (run_result));
|
||||||
|
|
||||||
resource_value = jerry_get_resource_name (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 (resource_value);
|
||||||
jerry_release_value (parse_options.resource_name);
|
jerry_release_value (parse_options.resource_name);
|
||||||
jerry_release_value (run_result);
|
jerry_release_value (run_result);
|
||||||
jerry_release_value (program);
|
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 ();
|
jerry_cleanup ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user