diff --git a/src/libjsparser/parser.c b/src/libjsparser/parser.c index bfcfc2e7a..5d47effe7 100644 --- a/src/libjsparser/parser.c +++ b/src/libjsparser/parser.c @@ -689,9 +689,15 @@ parse_property_name (void) { case TOK_NAME: case TOK_STRING: + { + STACK_PUSH (IDX, next_temp_name ()); + DUMP_OPCODE_3 (assignment, ID(1), OPCODE_ARG_TYPE_STRING, token_data ()); + break; + } case TOK_NUMBER: { - STACK_PUSH (IDX, token_data ()); + STACK_PUSH (IDX, next_temp_name ()); + DUMP_OPCODE_3 (assignment, ID(1), OPCODE_ARG_TYPE_NUMBER, token_data ()); break; } case TOK_SMALL_INT: diff --git a/tests/jerry/array.js b/tests/jerry/N.array.js similarity index 100% rename from tests/jerry/array.js rename to tests/jerry/N.array.js diff --git a/tests/jerry/object_literal.js b/tests/jerry/N.object_literal.js similarity index 89% rename from tests/jerry/object_literal.js rename to tests/jerry/N.object_literal.js index 9ead044cd..c5648577d 100644 --- a/tests/jerry/object_literal.js +++ b/tests/jerry/N.object_literal.js @@ -16,7 +16,9 @@ var person = { firstName:"John", lastName:"Doe", age:50, - eyeColor:"blue" + eyeColor:"blue", + "gender":"male", + 0:0 }; assert (person.firstName === "John"); @@ -27,6 +29,9 @@ assert (person.age === 50); assert (person["age"] === 50); assert (person.eyeColor === "blue"); assert (person["eyeColor"] === "blue"); +assert (person.gender === "male"); +assert (person["gender"] === "male"); +assert (person["0"] === 0); var x = person; x.age = 40;