New jerry_get_symbol_description API function (#4206)

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2020-09-21 10:39:38 +02:00
committed by GitHub
parent 4d135bec5d
commit 3c723c9bc1
4 changed files with 122 additions and 0 deletions
+26
View File
@@ -27,6 +27,9 @@
/* Symbol(bar) desciptive string */
#define SYMBOL_DESCIPTIVE_STRING_BAR "Symbol(bar)"
/* bar string desciption */
#define SYMBOL_DESCIPTION_BAR "bar"
int
main (void)
{
@@ -177,8 +180,31 @@ main (void)
TEST_ASSERT (memcmp (str_buff, SYMBOL_DESCIPTIVE_STRING_BAR, sizeof (SYMBOL_DESCIPTIVE_STRING_BAR) - 1) == 0);
jerry_release_value (bar_symbol_string);
/* Test symbol get description operation with string description */
bar_symbol_string = jerry_get_symbol_description (bar_symbol);
TEST_ASSERT (jerry_value_is_string (bar_symbol_string));
bar_symbol_string_size = jerry_get_string_size (bar_symbol_string);
TEST_ASSERT (bar_symbol_string_size == (sizeof (SYMBOL_DESCIPTION_BAR) - 1));
jerry_string_to_char_buffer (bar_symbol_string, str_buff, bar_symbol_string_size);
TEST_ASSERT (memcmp (str_buff, STRING_BAR, sizeof (SYMBOL_DESCIPTION_BAR) - 1) == 0);
jerry_release_value (bar_symbol);
/* Test symbol get description operation with undefined description */
jerry_value_t undefined_value = jerry_create_undefined ();
jerry_value_t undefined_symbol = jerry_create_symbol (undefined_value);
jerry_release_value (undefined_value);
TEST_ASSERT (!jerry_value_is_error (bar_symbol));
TEST_ASSERT (jerry_value_is_symbol (bar_symbol));
undefined_value = jerry_get_symbol_description (undefined_symbol);
TEST_ASSERT (jerry_value_is_undefined (undefined_value));
jerry_release_value (undefined_value);
jerry_release_value (undefined_symbol);
/* Test symbol to string operation with non-symbol argument */
jerry_value_t null_value = jerry_create_null ();
jerry_value_t to_string_value = jerry_get_symbol_descriptive_string (null_value);