From 32f130916f19c6de3cdd346647b57fe99e61de9e Mon Sep 17 00:00:00 2001 From: Zoltan Herczeg Date: Wed, 1 Feb 2017 08:47:26 +0100 Subject: [PATCH] Test various spaces in JavaScript source code. (#1554) Fixes #1551. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com --- jerry-core/parser/js/js-lexer.c | 2 +- tests/unit/test-api.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/jerry-core/parser/js/js-lexer.c b/jerry-core/parser/js/js-lexer.c index 186fea9db..140e2701c 100644 --- a/jerry-core/parser/js/js-lexer.c +++ b/jerry-core/parser/js/js-lexer.c @@ -239,7 +239,7 @@ skip_spaces (parser_context_t *context_p) /**< context */ && context_p->source_p[2] == 0xbf) { /* Codepoint \uFEFF */ - context_p->source_p += 2; + context_p->source_p += 3; context_p->column++; continue; } diff --git a/tests/unit/test-api.c b/tests/unit/test-api.c index 81f7fd157..94b0e75b2 100644 --- a/tests/unit/test-api.c +++ b/tests/unit/test-api.c @@ -922,6 +922,14 @@ main (void) /* Test: run gc. */ jerry_gc (); + /* Test: spaces */ + eval_code_src_p = "\x0a \x0b \x0c \xc2\xa0 \xe2\x80\xa8 \xe2\x80\xa9 \xef\xbb\xbf 4321"; + val_t = jerry_eval ((jerry_char_t *) eval_code_src_p, strlen (eval_code_src_p), true); + TEST_ASSERT (!jerry_value_has_error_flag (val_t)); + TEST_ASSERT (jerry_value_is_number (val_t) + && jerry_get_number_value (val_t) == 4321.0); + jerry_release_value (val_t); + /* Test: number */ val_t = jerry_create_number (6.25); number_val = jerry_get_number_value (val_t);