From ce5e4d49b1c91411a222c28e9e4dd5ca5bb8f04d Mon Sep 17 00:00:00 2001 From: Gergo Csizi <56910451+gergocs@users.noreply.github.com> Date: Wed, 26 May 2021 10:28:32 +0000 Subject: [PATCH] Fix documentation and add back some tests (#4673) JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com --- docs/02.API-REFERENCE.md | 79 +++++++++++++++++++++++++++ jerry-core/api/jerry.c | 28 ++++++++++ jerry-core/include/jerryscript-core.h | 2 + tests/unit-core/test-api.c | 4 ++ 4 files changed, 113 insertions(+) diff --git a/docs/02.API-REFERENCE.md b/docs/02.API-REFERENCE.md index 993054060..cf94886c5 100644 --- a/docs/02.API-REFERENCE.md +++ b/docs/02.API-REFERENCE.md @@ -2126,6 +2126,85 @@ jerry_value_is_boolean (const jerry_value_t value) - [jerry_release_value](#jerry_release_value) +## jerry_value_is_true + +**Summary** + +Returns whether the given `jerry_value_t` is a true value. + +**Prototype** + +```c +bool +jerry_value_is_true (const jerry_value_t value); +``` + +- `value` - api value +- return value + - true, if the given `jerry_value_t` is true value + - false, otherwise + +*New in version [[NEXT_RELEASE]]*. + +**Example** + +```c +{ + jerry_value_t value; + ... // create or acquire value + + if (jerry_value_is_true (value)) + { + ... + } + + jerry_release_value (value); +} +``` + +**See also** + +- [jerry_release_value](#jerry_release_value) + +## jerry_value_is_false + +**Summary** + +Returns whether the given `jerry_value_t` is a false value. + +**Prototype** + +```c +bool +jerry_value_is_false (const jerry_value_t value); +``` + +- `value` - api value +- return value + - true, if the given `jerry_value_t` is false value + - false, otherwise + +*New in version [[NEXT_RELEASE]]*. + +**Example** + +```c +{ + jerry_value_t value; + ... // create or acquire value + + if (jerry_value_is_false (value)) + { + ... + } + + jerry_release_value (value); +} +``` + +**See also** + +- [jerry_release_value](#jerry_release_value) ## jerry_value_is_constructor diff --git a/jerry-core/api/jerry.c b/jerry-core/api/jerry.c index 09d538c1a..7b9e3ed19 100644 --- a/jerry-core/api/jerry.c +++ b/jerry-core/api/jerry.c @@ -1185,6 +1185,34 @@ jerry_value_is_boolean (const jerry_value_t value) /**< api value */ return ecma_is_value_boolean (value); } /* jerry_value_is_boolean */ +/** + * Check if the specified value is true. + * + * @return true - if the specified value is true + * false - otherwise + */ +bool +jerry_value_is_true (const jerry_value_t value) /**< api value */ +{ + jerry_assert_api_available (); + + return ecma_is_value_true (value); +} /* jerry_value_is_true */ + +/** + * Check if the specified value is false. + * + * @return true - if the specified value is false + * false - otherwise + */ +bool +jerry_value_is_false (const jerry_value_t value) /**< api value */ +{ + jerry_assert_api_available (); + + return ecma_is_value_false (value); +} /* jerry_value_is_false */ + /** * Check if the specified value is a constructor function object value. * diff --git a/jerry-core/include/jerryscript-core.h b/jerry-core/include/jerryscript-core.h index adbfd604f..63f778032 100644 --- a/jerry-core/include/jerryscript-core.h +++ b/jerry-core/include/jerryscript-core.h @@ -78,6 +78,8 @@ bool jerry_value_is_string (const jerry_value_t value); bool jerry_value_is_symbol (const jerry_value_t value); bool jerry_value_is_bigint (const jerry_value_t value); bool jerry_value_is_undefined (const jerry_value_t value); +bool jerry_value_is_true (const jerry_value_t value); +bool jerry_value_is_false (const jerry_value_t value); jerry_type_t jerry_value_get_type (const jerry_value_t value); jerry_object_type_t jerry_object_get_type (const jerry_value_t value); diff --git a/tests/unit-core/test-api.c b/tests/unit-core/test-api.c index 59ad08a81..5a76ac748 100644 --- a/tests/unit-core/test-api.c +++ b/tests/unit-core/test-api.c @@ -164,6 +164,8 @@ handler_construct (const jerry_call_info_t *call_info_p, /**< call information * TEST_ASSERT (jerry_value_is_boolean (args_p[0])); TEST_ASSERT (jerry_get_boolean_value (args_p[0]) == true); + TEST_ASSERT (jerry_value_is_true (args_p[0])); + jerry_value_t this_value = call_info_p->this_value; jerry_value_t field_name = jerry_create_string ((jerry_char_t *) "value_field"); jerry_value_t res = jerry_set_property (this_value, field_name, args_p[0]); @@ -257,6 +259,7 @@ foreach (const jerry_value_t name, /**< field name */ { TEST_ASSERT (jerry_value_is_boolean (value)); TEST_ASSERT (jerry_get_boolean_value (value) == false); + TEST_ASSERT (jerry_value_is_false (value)); return true; } else if (!strncmp (str_buf_p, "charlie", (size_t) sz)) @@ -1116,6 +1119,7 @@ main (void) JERRY_PARSE_NO_OPTS); TEST_ASSERT (jerry_value_is_boolean (res)); TEST_ASSERT (jerry_get_boolean_value (res) == true); + TEST_ASSERT (jerry_value_is_true (res)); jerry_release_value (res);