@@ -124,9 +124,7 @@ handler_construct (const jerry_value_t func_obj_val, /**< function object */
124
124
JERRY_ASSERT (jerry_get_boolean_value (args_p [0 ]) == true);
125
125
126
126
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 ]);
130
128
jerry_release_value (field_name );
131
129
132
130
jerry_set_object_native_handle (this_val ,
@@ -262,6 +260,27 @@ foreach_subset (const jerry_value_t name, /**< field name */
262
260
return true;
263
261
} /* foreach_subset */
264
262
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
+
265
284
int
266
285
main (void )
267
286
{
@@ -276,7 +295,7 @@ main (void)
276
295
jerry_value_t global_obj_val , obj_val ;
277
296
jerry_value_t external_func_val , external_construct_val ;
278
297
jerry_value_t throw_test_handler_val ;
279
- jerry_value_t err_obj_val , prop_name_val ;
298
+ jerry_value_t err_obj_val ;
280
299
jerry_value_t res , args [2 ];
281
300
char buffer [32 ];
282
301
@@ -297,25 +316,19 @@ main (void)
297
316
jerry_release_value (args [0 ]);
298
317
299
318
// 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" );
303
320
JERRY_ASSERT (!jerry_value_has_error_flag (val_t ));
304
321
JERRY_ASSERT (jerry_value_is_undefined (val_t ));
305
322
306
323
// 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" );
310
325
JERRY_ASSERT (!jerry_value_has_error_flag (val_t ));
311
326
JERRY_ASSERT (jerry_value_is_number (val_t )
312
327
&& jerry_get_number_value (val_t ) == 1.0 );
313
328
jerry_release_value (val_t );
314
329
315
330
// 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" );
319
332
JERRY_ASSERT (!jerry_value_has_error_flag (val_foo ));
320
333
JERRY_ASSERT (jerry_value_is_object (val_foo ));
321
334
@@ -329,9 +342,7 @@ main (void)
329
342
jerry_release_value (res );
330
343
331
344
// 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" );
335
346
JERRY_ASSERT (!jerry_value_has_error_flag (val_bar ));
336
347
JERRY_ASSERT (jerry_value_is_object (val_bar ));
337
348
@@ -346,9 +357,7 @@ main (void)
346
357
// Set global.t = "abcd"
347
358
jerry_release_value (args [0 ]);
348
359
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 ]);
352
361
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
353
362
JERRY_ASSERT (jerry_get_boolean_value (res ));
354
363
jerry_release_value (res );
@@ -367,52 +376,40 @@ main (void)
367
376
jerry_release_value (args [1 ]);
368
377
369
378
// 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" );
373
380
JERRY_ASSERT (!jerry_value_has_error_flag (val_A ));
374
381
JERRY_ASSERT (jerry_value_is_object (val_A ));
375
382
376
383
// Get A.prototype
377
384
is_ok = jerry_value_is_constructor (val_A );
378
385
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" );
382
387
JERRY_ASSERT (!jerry_value_has_error_flag (val_A_prototype ));
383
388
JERRY_ASSERT (jerry_value_is_object (val_A_prototype ));
384
389
jerry_release_value (val_A );
385
390
386
391
// 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 );
390
393
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
391
394
JERRY_ASSERT (jerry_get_boolean_value (res ));
392
395
jerry_release_value (res );
393
396
jerry_release_value (val_A_prototype );
394
397
jerry_release_value (val_foo );
395
398
396
399
// 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" );
400
401
JERRY_ASSERT (!jerry_value_has_error_flag (val_a ));
401
402
JERRY_ASSERT (jerry_value_is_object (val_a ));
402
403
403
404
// 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" );
407
406
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
408
407
JERRY_ASSERT (jerry_value_is_number (res )
409
408
&& jerry_get_number_value (res ) == 12.0 );
410
409
jerry_release_value (res );
411
410
412
411
// 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" );
416
413
is_ok = jerry_foreach_object_property (val_p , foreach , (void * ) "user_data" );
417
414
JERRY_ASSERT (is_ok );
418
415
@@ -424,17 +421,13 @@ main (void)
424
421
jerry_release_value (val_p );
425
422
426
423
// 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" );
430
425
is_ok = !jerry_foreach_object_property (val_np , foreach_exception , NULL );
431
426
JERRY_ASSERT (is_ok );
432
427
jerry_release_value (val_np );
433
428
434
429
// 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" );
438
431
JERRY_ASSERT (!jerry_value_has_error_flag (val_a_foo ));
439
432
JERRY_ASSERT (jerry_value_is_object (val_a_foo ));
440
433
@@ -453,17 +446,13 @@ main (void)
453
446
JERRY_ASSERT (jerry_value_is_function (external_func_val )
454
447
&& jerry_value_is_constructor (external_func_val ));
455
448
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 );
459
450
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
460
451
JERRY_ASSERT (jerry_get_boolean_value (res ));
461
452
jerry_release_value (external_func_val );
462
453
463
454
// 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" );
467
456
JERRY_ASSERT (!jerry_value_has_error_flag (val_call_external ));
468
457
JERRY_ASSERT (jerry_value_is_object (val_call_external ));
469
458
res = jerry_call_function (val_call_external , global_obj_val , NULL , 0 );
@@ -482,9 +471,7 @@ main (void)
482
471
JERRY_ASSERT (jerry_value_is_function (external_construct_val )
483
472
&& jerry_value_is_constructor (external_construct_val ));
484
473
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 );
488
475
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
489
476
JERRY_ASSERT (jerry_get_boolean_value (res ));
490
477
jerry_release_value (res );
@@ -494,9 +481,7 @@ main (void)
494
481
res = jerry_construct_object (external_construct_val , args , 1 );
495
482
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
496
483
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" );
500
485
501
486
// Get 'value_field' of constructed object
502
487
JERRY_ASSERT (!jerry_value_has_error_flag (val_value_field ));
@@ -516,17 +501,13 @@ main (void)
516
501
throw_test_handler_val = jerry_create_external_function (handler_throw_test );
517
502
JERRY_ASSERT (jerry_value_is_function (throw_test_handler_val ));
518
503
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 );
522
505
JERRY_ASSERT (!jerry_value_has_error_flag (res ));
523
506
JERRY_ASSERT (jerry_get_boolean_value (res ));
524
507
jerry_release_value (res );
525
508
jerry_release_value (throw_test_handler_val );
526
509
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" );
530
511
JERRY_ASSERT (!jerry_value_has_error_flag (val_t ));
531
512
JERRY_ASSERT (jerry_value_is_object (val_t ));
532
513
@@ -536,9 +517,7 @@ main (void)
536
517
jerry_release_value (res );
537
518
538
519
// 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" );
542
521
JERRY_ASSERT (!jerry_value_has_error_flag (val_t ));
543
522
JERRY_ASSERT (jerry_value_is_object (val_t ));
544
523
@@ -563,9 +542,7 @@ main (void)
563
542
jerry_release_value (obj_val );
564
543
565
544
// 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" );
569
546
JERRY_ASSERT (!jerry_value_has_error_flag (val_t ));
570
547
JERRY_ASSERT (jerry_value_is_object (val_t ));
571
548
0 commit comments