@@ -31,6 +31,82 @@ main (void)
3131
3232 JERRY_ASSERT (obj_val != err_val );
3333 jerry_release_value (err_val );
34+ jerry_release_value (obj_val );
35+
36+ jerry_value_t str = jerry_create_string ((jerry_char_t * ) "Pterodactylus" );
37+ jerry_value_t error = jerry_create_error_from_value (str , true);
38+ str = jerry_get_value_from_error (error , true);
39+ jerry_size_t str_size = jerry_get_string_size (str );
40+ jerry_char_t str_buff [str_size ];
41+ jerry_string_to_utf8_char_buffer (str , str_buff , str_size );
42+ str_buff [str_size ] = '\0' ;
43+ JERRY_ASSERT (!strcmp ("Pterodactylus" , (char * ) str_buff ));
44+ jerry_release_value (str );
45+
46+ str = jerry_create_string ((jerry_char_t * ) "Pterodactylus" );
47+ error = jerry_create_error_from_value (str , false);
48+ jerry_release_value (str );
49+ str = jerry_get_value_from_error (error , true);
50+ str_size = jerry_get_string_size (str );
51+ jerry_string_to_utf8_char_buffer (str , str_buff , str_size );
52+ str_buff [str_size ] = '\0' ;
53+ JERRY_ASSERT (!strcmp ("Pterodactylus" , (char * ) str_buff ));
54+ jerry_release_value (str );
55+
56+ double test_num = 3.1415926 ;
57+ jerry_value_t num = jerry_create_number (test_num );
58+ jerry_value_t num2 = jerry_create_error_from_value (num , false);
59+ JERRY_ASSERT (jerry_value_is_error (num2 ));
60+ jerry_release_value (num );
61+ num2 = jerry_get_value_from_error (num2 , true);
62+ JERRY_ASSERT (jerry_get_number_value (num2 ) == test_num );
63+ jerry_release_value (num2 );
64+
65+ num = jerry_create_number (test_num );
66+ num2 = jerry_create_error_from_value (num , true);
67+ JERRY_ASSERT (jerry_value_is_error (num2 ));
68+ num2 = jerry_get_value_from_error (num2 , true);
69+ JERRY_ASSERT (jerry_get_number_value (num2 ) == test_num );
70+ jerry_release_value (num2 );
71+
72+ num = jerry_create_number (test_num );
73+ num2 = jerry_create_error_from_value (num , false);
74+ JERRY_ASSERT (jerry_value_is_error (num2 ));
75+ jerry_release_value (num );
76+ jerry_value_t num3 = jerry_create_error_from_value (num2 , false);
77+ JERRY_ASSERT (jerry_value_is_error (num3 ));
78+ jerry_release_value (num2 );
79+ num2 = jerry_get_value_from_error (num3 , true);
80+ JERRY_ASSERT (jerry_get_number_value (num2 ) == test_num );
81+ jerry_release_value (num2 );
82+
83+ num = jerry_create_number (test_num );
84+ num2 = jerry_create_error_from_value (num , true);
85+ JERRY_ASSERT (jerry_value_is_error (num2 ));
86+ num3 = jerry_create_error_from_value (num2 , true);
87+ JERRY_ASSERT (jerry_value_is_error (num3 ));
88+ num2 = jerry_get_value_from_error (num3 , true);
89+ JERRY_ASSERT (jerry_get_number_value (num2 ) == test_num );
90+ jerry_release_value (num2 );
91+
92+ num = jerry_create_number (test_num );
93+ jerry_value_set_abort_flag (& num );
94+ JERRY_ASSERT (jerry_value_is_abort (num ));
95+ num2 = jerry_create_error_from_value (num , true);
96+ JERRY_ASSERT (jerry_value_is_error (num2 ));
97+ num = jerry_get_value_from_error (num2 , true);
98+ JERRY_ASSERT (jerry_get_number_value (num ) == test_num );
99+ jerry_release_value (num );
100+
101+ num = jerry_create_number (test_num );
102+ jerry_value_set_abort_flag (& num );
103+ JERRY_ASSERT (jerry_value_is_abort (num ));
104+ num2 = jerry_create_error_from_value (num , false);
105+ jerry_release_value (num );
106+ JERRY_ASSERT (jerry_value_is_error (num2 ));
107+ num = jerry_get_value_from_error (num2 , true);
108+ JERRY_ASSERT (jerry_get_number_value (num ) == test_num );
109+ jerry_release_value (num );
34110
35111 jerry_value_t value = jerry_create_number (42 );
36112 value = jerry_get_value_from_error (value , true);
@@ -42,7 +118,7 @@ main (void)
42118 jerry_release_value (value2 );
43119
44120 value = jerry_create_number (42 );
45- jerry_value_t error = jerry_create_error_from_value (value , true);
121+ error = jerry_create_error_from_value (value , true);
46122 error = jerry_create_error_from_value (error , true);
47123 jerry_release_value (error );
48124
0 commit comments