Skip to content

Commit 607dbb0

Browse files
committed
Addressing reviews and minor fixes
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
1 parent dba42e0 commit 607dbb0

File tree

3 files changed

+46
-67
lines changed

3 files changed

+46
-67
lines changed

jerry-core/jerry-api.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <stdbool.h>
2121
#include <stddef.h>
2222
#include <stdint.h>
23+
#include <stdio.h>
2324
#include <sys/types.h>
2425

2526
#ifdef __cplusplus

jerry-core/jrt/jrt.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <stdio.h>
2121
#include <string.h>
2222

23+
#include "jerry-api.h"
2324
#include "jerry-port.h"
2425
#include "jrt-types.h"
2526

tests/unit/test-api.c

Lines changed: 44 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,7 @@ handler_construct (const jerry_value_t func_obj_val, /**< function object */
124124
JERRY_ASSERT (jerry_get_boolean_value (args_p[0]) == true);
125125

126126
jerry_value_t field_name = jerry_create_string ((jerry_char_t *) "value_field");
127-
jerry_set_property (this_val,
128-
field_name,
129-
args_p[0]);
127+
jerry_set_property (this_val, field_name, args_p[0]);
130128
jerry_release_value (field_name);
131129

132130
jerry_set_object_native_handle (this_val,
@@ -262,6 +260,27 @@ foreach_subset (const jerry_value_t name, /**< field name */
262260
return true;
263261
} /* foreach_subset */
264262

263+
static jerry_value_t
264+
get_property (const jerry_value_t obj_val, /**< object value */
265+
const char *str_p) /**< property name */
266+
{
267+
jerry_value_t prop_name_val = jerry_create_string ((const jerry_char_t *) str_p);
268+
jerry_value_t ret_val = jerry_get_property (obj_val, prop_name_val);
269+
jerry_release_value (prop_name_val);
270+
return ret_val;
271+
} /* get_property */
272+
273+
static jerry_value_t
274+
set_property (const jerry_value_t obj_val, /**< object value */
275+
const char *str_p, /**< property name */
276+
const jerry_value_t val) /**< value to set */
277+
{
278+
jerry_value_t prop_name_val = jerry_create_string ((const jerry_char_t *) str_p);
279+
jerry_value_t ret_val = jerry_set_property (obj_val, prop_name_val, val);
280+
jerry_release_value (prop_name_val);
281+
return ret_val;
282+
} /* set_property */
283+
265284
int
266285
main (void)
267286
{
@@ -276,7 +295,7 @@ main (void)
276295
jerry_value_t global_obj_val, obj_val;
277296
jerry_value_t external_func_val, external_construct_val;
278297
jerry_value_t throw_test_handler_val;
279-
jerry_value_t err_obj_val, prop_name_val;
298+
jerry_value_t err_obj_val;
280299
jerry_value_t res, args[2];
281300
char buffer[32];
282301

@@ -297,25 +316,19 @@ main (void)
297316
jerry_release_value (args[0]);
298317

299318
// Get global.boo (non-existing field)
300-
prop_name_val = jerry_create_string ((jerry_char_t *) "boo");
301-
val_t = jerry_get_property (global_obj_val, prop_name_val);
302-
jerry_release_value (prop_name_val);
319+
val_t = get_property (global_obj_val, "boo");
303320
JERRY_ASSERT (!jerry_value_has_error_flag (val_t));
304321
JERRY_ASSERT (jerry_value_is_undefined (val_t));
305322

306323
// Get global.t
307-
prop_name_val = jerry_create_string ((jerry_char_t *) "t");
308-
val_t = jerry_get_property (global_obj_val, prop_name_val);
309-
jerry_release_value (prop_name_val);
324+
val_t = get_property (global_obj_val, "t");
310325
JERRY_ASSERT (!jerry_value_has_error_flag (val_t));
311326
JERRY_ASSERT (jerry_value_is_number (val_t)
312327
&& jerry_get_number_value (val_t) == 1.0);
313328
jerry_release_value (val_t);
314329

315330
// Get global.foo
316-
prop_name_val = jerry_create_string ((jerry_char_t *) "foo");
317-
val_foo = jerry_get_property (global_obj_val, prop_name_val);
318-
jerry_release_value (prop_name_val);
331+
val_foo = get_property (global_obj_val, "foo");
319332
JERRY_ASSERT (!jerry_value_has_error_flag (val_foo));
320333
JERRY_ASSERT (jerry_value_is_object (val_foo));
321334

@@ -329,9 +342,7 @@ main (void)
329342
jerry_release_value (res);
330343

331344
// Get global.bar
332-
prop_name_val = jerry_create_string ((jerry_char_t *) "bar");
333-
val_bar = jerry_get_property (global_obj_val, prop_name_val);
334-
jerry_release_value (prop_name_val);
345+
val_bar = get_property (global_obj_val, "bar");
335346
JERRY_ASSERT (!jerry_value_has_error_flag (val_bar));
336347
JERRY_ASSERT (jerry_value_is_object (val_bar));
337348

@@ -346,9 +357,7 @@ main (void)
346357
// Set global.t = "abcd"
347358
jerry_release_value (args[0]);
348359
args[0] = jerry_create_string ((jerry_char_t *) "abcd");
349-
prop_name_val = jerry_create_string ((jerry_char_t *) "t");
350-
res = jerry_set_property (global_obj_val, prop_name_val, args[0]);
351-
jerry_release_value (prop_name_val);
360+
res = set_property (global_obj_val, "t", args[0]);
352361
JERRY_ASSERT (!jerry_value_has_error_flag (res));
353362
JERRY_ASSERT (jerry_get_boolean_value (res));
354363
jerry_release_value (res);
@@ -367,52 +376,40 @@ main (void)
367376
jerry_release_value (args[1]);
368377

369378
// Get global.A
370-
prop_name_val = jerry_create_string ((jerry_char_t *) "A");
371-
val_A = jerry_get_property (global_obj_val, prop_name_val);
372-
jerry_release_value (prop_name_val);
379+
val_A = get_property (global_obj_val, "A");
373380
JERRY_ASSERT (!jerry_value_has_error_flag (val_A));
374381
JERRY_ASSERT (jerry_value_is_object (val_A));
375382

376383
// Get A.prototype
377384
is_ok = jerry_value_is_constructor (val_A);
378385
JERRY_ASSERT (is_ok);
379-
prop_name_val = jerry_create_string ((jerry_char_t *) "prototype");
380-
val_A_prototype = jerry_get_property (val_A, prop_name_val);
381-
jerry_release_value (prop_name_val);
386+
val_A_prototype = get_property (val_A, "prototype");
382387
JERRY_ASSERT (!jerry_value_has_error_flag (val_A_prototype));
383388
JERRY_ASSERT (jerry_value_is_object (val_A_prototype));
384389
jerry_release_value (val_A);
385390

386391
// Set A.prototype.foo = global.foo
387-
prop_name_val = jerry_create_string ((jerry_char_t *) "foo");
388-
res = jerry_set_property (val_A_prototype, prop_name_val, val_foo);
389-
jerry_release_value (prop_name_val);
392+
res = set_property (val_A_prototype, "foo", val_foo);
390393
JERRY_ASSERT (!jerry_value_has_error_flag (res));
391394
JERRY_ASSERT (jerry_get_boolean_value (res));
392395
jerry_release_value (res);
393396
jerry_release_value (val_A_prototype);
394397
jerry_release_value (val_foo);
395398

396399
// Get global.a
397-
prop_name_val = jerry_create_string ((jerry_char_t *) "a");
398-
val_a = jerry_get_property (global_obj_val, prop_name_val);
399-
jerry_release_value (prop_name_val);
400+
val_a = get_property (global_obj_val, "a");
400401
JERRY_ASSERT (!jerry_value_has_error_flag (val_a));
401402
JERRY_ASSERT (jerry_value_is_object (val_a));
402403

403404
// Get a.t
404-
prop_name_val = jerry_create_string ((jerry_char_t *) "t");
405-
res = jerry_get_property (val_a, prop_name_val);
406-
jerry_release_value (prop_name_val);
405+
res = get_property (val_a, "t");
407406
JERRY_ASSERT (!jerry_value_has_error_flag (res));
408407
JERRY_ASSERT (jerry_value_is_number (res)
409408
&& jerry_get_number_value (res) == 12.0);
410409
jerry_release_value (res);
411410

412411
// foreach properties
413-
prop_name_val = jerry_create_string ((jerry_char_t *) "p");
414-
val_p = jerry_get_property (global_obj_val, prop_name_val);
415-
jerry_release_value (prop_name_val);
412+
val_p = get_property (global_obj_val, "p");
416413
is_ok = jerry_foreach_object_property (val_p, foreach, (void *) "user_data");
417414
JERRY_ASSERT (is_ok);
418415

@@ -424,17 +421,13 @@ main (void)
424421
jerry_release_value (val_p);
425422

426423
// foreach with throw test
427-
prop_name_val = jerry_create_string ((jerry_char_t *) "np");
428-
val_np = jerry_get_property (global_obj_val, prop_name_val);
429-
jerry_release_value (prop_name_val);
424+
val_np = get_property (global_obj_val, "np");
430425
is_ok = !jerry_foreach_object_property (val_np, foreach_exception, NULL);
431426
JERRY_ASSERT (is_ok);
432427
jerry_release_value (val_np);
433428

434429
// Get a.foo
435-
prop_name_val = jerry_create_string ((jerry_char_t *) "foo");
436-
val_a_foo = jerry_get_property (val_a, prop_name_val);
437-
jerry_release_value (prop_name_val);
430+
val_a_foo = get_property (val_a, "foo");
438431
JERRY_ASSERT (!jerry_value_has_error_flag (val_a_foo));
439432
JERRY_ASSERT (jerry_value_is_object (val_a_foo));
440433

@@ -453,17 +446,13 @@ main (void)
453446
JERRY_ASSERT (jerry_value_is_function (external_func_val)
454447
&& jerry_value_is_constructor (external_func_val));
455448

456-
prop_name_val = jerry_create_string ((jerry_char_t *) "external");
457-
res = jerry_set_property (global_obj_val, prop_name_val, external_func_val);
458-
jerry_release_value (prop_name_val);
449+
res = set_property (global_obj_val, "external", external_func_val);
459450
JERRY_ASSERT (!jerry_value_has_error_flag (res));
460451
JERRY_ASSERT (jerry_get_boolean_value (res));
461452
jerry_release_value (external_func_val);
462453

463454
// Call 'call_external' function that should call external function created above
464-
prop_name_val = jerry_create_string ((jerry_char_t *) "call_external");
465-
val_call_external = jerry_get_property (global_obj_val, prop_name_val);
466-
jerry_release_value (prop_name_val);
455+
val_call_external = get_property (global_obj_val, "call_external");
467456
JERRY_ASSERT (!jerry_value_has_error_flag (val_call_external));
468457
JERRY_ASSERT (jerry_value_is_object (val_call_external));
469458
res = jerry_call_function (val_call_external, global_obj_val, NULL, 0);
@@ -482,9 +471,7 @@ main (void)
482471
JERRY_ASSERT (jerry_value_is_function (external_construct_val)
483472
&& jerry_value_is_constructor (external_construct_val));
484473

485-
prop_name_val = jerry_create_string ((jerry_char_t *) "external_construct");
486-
res = jerry_set_property (global_obj_val, prop_name_val, external_construct_val);
487-
jerry_release_value (prop_name_val);
474+
res = set_property (global_obj_val, "external_construct", external_construct_val);
488475
JERRY_ASSERT (!jerry_value_has_error_flag (res));
489476
JERRY_ASSERT (jerry_get_boolean_value (res));
490477
jerry_release_value (res);
@@ -494,9 +481,7 @@ main (void)
494481
res = jerry_construct_object (external_construct_val, args, 1);
495482
JERRY_ASSERT (!jerry_value_has_error_flag (res));
496483
JERRY_ASSERT (jerry_value_is_object (res));
497-
prop_name_val = jerry_create_string ((jerry_char_t *) "value_field");
498-
val_value_field = jerry_get_property (res, prop_name_val);
499-
jerry_release_value (prop_name_val);
484+
val_value_field = get_property (res, "value_field");
500485

501486
// Get 'value_field' of constructed object
502487
JERRY_ASSERT (!jerry_value_has_error_flag (val_value_field));
@@ -516,17 +501,13 @@ main (void)
516501
throw_test_handler_val = jerry_create_external_function (handler_throw_test);
517502
JERRY_ASSERT (jerry_value_is_function (throw_test_handler_val));
518503

519-
prop_name_val = jerry_create_string ((jerry_char_t *) "throw_test");
520-
res = jerry_set_property (global_obj_val, prop_name_val, throw_test_handler_val);
521-
jerry_release_value (prop_name_val);
504+
res = set_property (global_obj_val, "throw_test", throw_test_handler_val);
522505
JERRY_ASSERT (!jerry_value_has_error_flag (res));
523506
JERRY_ASSERT (jerry_get_boolean_value (res));
524507
jerry_release_value (res);
525508
jerry_release_value (throw_test_handler_val);
526509

527-
prop_name_val = jerry_create_string ((jerry_char_t *) "call_throw_test");
528-
val_t = jerry_get_property (global_obj_val, prop_name_val);
529-
jerry_release_value (prop_name_val);
510+
val_t = get_property (global_obj_val, "call_throw_test");
530511
JERRY_ASSERT (!jerry_value_has_error_flag (val_t));
531512
JERRY_ASSERT (jerry_value_is_object (val_t));
532513

@@ -536,9 +517,7 @@ main (void)
536517
jerry_release_value (res);
537518

538519
// Test: Unhandled exception in called function
539-
prop_name_val = jerry_create_string ((jerry_char_t *) "throw_reference_error");
540-
val_t = jerry_get_property (global_obj_val, prop_name_val);
541-
jerry_release_value (prop_name_val);
520+
val_t = get_property (global_obj_val, "throw_reference_error");
542521
JERRY_ASSERT (!jerry_value_has_error_flag (val_t));
543522
JERRY_ASSERT (jerry_value_is_object (val_t));
544523

@@ -563,9 +542,7 @@ main (void)
563542
jerry_release_value (obj_val);
564543

565544
// Test: Unhandled exception in function called, as constructor
566-
prop_name_val = jerry_create_string ((jerry_char_t *) "throw_reference_error");
567-
val_t = jerry_get_property (global_obj_val, prop_name_val);
568-
jerry_release_value (prop_name_val);
545+
val_t = get_property (global_obj_val, "throw_reference_error");
569546
JERRY_ASSERT (!jerry_value_has_error_flag (val_t));
570547
JERRY_ASSERT (jerry_value_is_object (val_t));
571548

0 commit comments

Comments
 (0)