diff options
author | Andrey Somov <public.somov@gmail.com> | 2022-09-09 09:38:25 +0300 |
---|---|---|
committer | Andrey Somov <public.somov@gmail.com> | 2022-09-09 09:38:25 +0300 |
commit | 5e56066540d72a4e2aae7d918f92406686076ceb (patch) | |
tree | dfaa8be2ce13438975b43cadb297c3eb3bb1781e | |
parent | 72dfa9f1074abe2b8a6c8776bee4476b0aed02e3 (diff) | |
download | snakeyaml-5e56066540d72a4e2aae7d918f92406686076ceb.tar.gz |
Improve error message for too big document
3 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java b/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java index 1bd73569..86059f73 100644 --- a/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java +++ b/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java @@ -327,7 +327,8 @@ public final class ScannerImpl implements Scanner { */ private void fetchMoreTokens() { if (reader.getIndex() > loaderOptions.getCodePointLimit()) { - throw new YAMLException("The incoming YAML document exceeds the limit: " + loaderOptions.getCodePointLimit()); + throw new YAMLException("The incoming YAML document exceeds the limit: " + + loaderOptions.getCodePointLimit() + " code points."); } // Eat whitespaces and process comments until we reach the next token. scanToNextToken(); diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue102/BigDataLoadTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue102/BigDataLoadTest.java index 65826234..63f8956c 100644 --- a/src/test/java/org/yaml/snakeyaml/issues/issue102/BigDataLoadTest.java +++ b/src/test/java/org/yaml/snakeyaml/issues/issue102/BigDataLoadTest.java @@ -37,7 +37,8 @@ public class BigDataLoadTest extends TestCase { public void testBigStreamData() { LoaderOptions options = new LoaderOptions(); options.setCodePointLimit(10000000); - Yaml yaml = new Yaml(options); StringReader buffer = new StringReader(getLongYamlDocument(SIZE)); + Yaml yaml = new Yaml(options); + StringReader buffer = new StringReader(getLongYamlDocument(SIZE)); List<?> loaded = yaml.load(buffer); assertEquals(SIZE, loaded.size()); } diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue547/ByteLimitTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue547/ByteLimitTest.java index 69b3dce2..e6eae1e5 100644 --- a/src/test/java/org/yaml/snakeyaml/issues/issue547/ByteLimitTest.java +++ b/src/test/java/org/yaml/snakeyaml/issues/issue547/ByteLimitTest.java @@ -31,7 +31,7 @@ public class ByteLimitTest { yaml.load("12345678901234567890"); fail("Long input should not be accepted"); } catch (Exception e) { - assertEquals("The incoming YAML document exceeds the limit: 15", e.getMessage()); + assertEquals("The incoming YAML document exceeds the limit: 15 code points.", e.getMessage()); } } } |