Support resource name and user value for implicit class constructors (#4771)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
@@ -2469,7 +2469,6 @@
|
||||
<test id="language/expressions/class/elements/class-name-static-initializer-default-export.js"><reason></reason></test>
|
||||
<test id="language/expressions/class/elements/derived-cls-direct-eval-contains-superproperty-1.js"><reason></reason></test>
|
||||
<test id="language/expressions/class/elements/derived-cls-direct-eval-contains-superproperty-2.js"><reason></reason></test>
|
||||
<test id="language/expressions/class/elements/direct-eval-err-contains-newtarget.js"><reason></reason></test>
|
||||
<test id="language/expressions/class/elements/fields-anonymous-function-length.js"><reason></reason></test>
|
||||
<test id="language/expressions/class/elements/fields-multiple-definitions-static-private-methods-proxy.js"><reason></reason></test>
|
||||
<test id="language/expressions/class/elements/gen-private-method-static/yield-spread-arr-multiple.js"><reason></reason></test>
|
||||
@@ -4047,7 +4046,6 @@
|
||||
<test id="language/statements/class/elements/async-gen-private-method/yield-star-sync-throw.js"><reason></reason></test>
|
||||
<test id="language/statements/class/elements/derived-cls-direct-eval-contains-superproperty-1.js"><reason></reason></test>
|
||||
<test id="language/statements/class/elements/derived-cls-direct-eval-contains-superproperty-2.js"><reason></reason></test>
|
||||
<test id="language/statements/class/elements/direct-eval-err-contains-newtarget.js"><reason></reason></test>
|
||||
<test id="language/statements/class/elements/fields-anonymous-function-length.js"><reason></reason></test>
|
||||
<test id="language/statements/class/elements/gen-private-method-static/yield-spread-arr-multiple.js"><reason></reason></test>
|
||||
<test id="language/statements/class/elements/gen-private-method-static/yield-spread-arr-single.js"><reason></reason></test>
|
||||
@@ -7952,7 +7950,6 @@
|
||||
<test id="built-ins/Atomics/waitAsync/was-woken-before-timeout.js"><reason></reason></test>
|
||||
<test id="built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js"><reason></reason></test>
|
||||
<test id="built-ins/FinalizationRegistry/proto-from-ctor-realm.js"><reason></reason></test>
|
||||
<test id="built-ins/Function/internals/Call/class-ctor-realm.js"><reason></reason></test>
|
||||
<test id="intl402/Collator/proto-from-ctor-realm.js"><reason></reason></test>
|
||||
<test id="intl402/DateTimeFormat/proto-from-ctor-realm.js"><reason></reason></test>
|
||||
<test id="intl402/DisplayNames/proto-from-ctor-realm.js"><reason></reason></test>
|
||||
|
||||
@@ -214,6 +214,27 @@ main (void)
|
||||
jerry_release_value (parse_options.resource_name);
|
||||
jerry_release_value (program);
|
||||
|
||||
const char *source_6 = "(class {})";
|
||||
|
||||
parse_options.options = JERRY_PARSE_HAS_RESOURCE;
|
||||
parse_options.resource_name = jerry_create_string ((jerry_char_t *) "demo6.js");
|
||||
|
||||
program = jerry_parse ((const jerry_char_t *) source_6,
|
||||
strlen (source_6),
|
||||
&parse_options);
|
||||
if (!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.resource_name);
|
||||
jerry_release_value (program);
|
||||
|
||||
jerry_cleanup ();
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -138,6 +138,14 @@ main (void)
|
||||
parse_options.options = JERRY_PARSE_HAS_USER_VALUE;
|
||||
test_parse_function (source_p, &parse_options, true);
|
||||
|
||||
/* There is no test for ESNEXT, using SYMBOL instead. */
|
||||
if (jerry_is_feature_enabled (JERRY_FEATURE_SYMBOL))
|
||||
{
|
||||
source_p = TEST_STRING_LITERAL ("(class {})");
|
||||
parse_options.options = JERRY_PARSE_HAS_USER_VALUE;
|
||||
test_parse (source_p, &parse_options, true);
|
||||
}
|
||||
|
||||
source_p = TEST_STRING_LITERAL ("eval('function f() {}')\n"
|
||||
"f");
|
||||
parse_options.options = JERRY_PARSE_HAS_USER_VALUE;
|
||||
|
||||
Reference in New Issue
Block a user