v8/test/mjsunit/json-errors.js
Igor Sheludko fa7b88fddd [json] Fix error reporting when parsing an internalized one-byte string.
BUG=chromium:686010

Change-Id: I7bd4ab48f90a1013132bf037fd352ab55747189c
Reviewed-on: https://chromium-review.googlesource.com/451377
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43691}
2017-03-09 12:28:17 +00:00

31 lines
753 B
JavaScript

// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
function TryParse(s, message) {
try {
JSON.parse(s);
assertUnreachable();
} catch(e) {
assertEquals(message, e.message);
}
}
var s = `{"a\\\\b `;
TryParse(s, "Unexpected end of JSON input");
var s = `{"a\\\\\u03A9 `;
TryParse(s, "Unexpected end of JSON input");
var s = `{"ab `;
TryParse(s, "Unexpected end of JSON input");
var s = `{"a\u03A9 `;
TryParse(s, "Unexpected end of JSON input");
var s = `{"a\nb":"b"}`;
TryParse(s, "Unexpected token \n in JSON at position 3");
var s = `{"a\nb":"b\u03A9"}`;
TryParse(s, "Unexpected token \n in JSON at position 3");