From 642f165501f0e31be7fa3698016f60c4d29bd3ce Mon Sep 17 00:00:00 2001 From: James Ball Date: Fri, 9 Jul 2021 20:14:27 +0100 Subject: [PATCH] Correctly sub-list MoveTo arguments --- src/main/java/sh/ball/parser/svg/LineTo.java | 2 +- src/main/java/sh/ball/parser/svg/MoveTo.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/sh/ball/parser/svg/LineTo.java b/src/main/java/sh/ball/parser/svg/LineTo.java index d59b7a3..a5bbd78 100644 --- a/src/main/java/sh/ball/parser/svg/LineTo.java +++ b/src/main/java/sh/ball/parser/svg/LineTo.java @@ -18,7 +18,7 @@ class LineTo { int expectedArgs = isHorizontal && isVertical ? 2 : 1; if (args.size() % expectedArgs != 0 || args.size() < expectedArgs) { - throw new IllegalArgumentException("SVG lineto command has incorrect number of arguments."); + throw new IllegalArgumentException("SVG lineto command has incorrect number of arguments. Expected multiple of " + expectedArgs + ", got " + args.size()); } List lines = new ArrayList<>(); diff --git a/src/main/java/sh/ball/parser/svg/MoveTo.java b/src/main/java/sh/ball/parser/svg/MoveTo.java index 3d84d13..58e3bf4 100644 --- a/src/main/java/sh/ball/parser/svg/MoveTo.java +++ b/src/main/java/sh/ball/parser/svg/MoveTo.java @@ -20,13 +20,13 @@ class MoveTo { state.currPoint = vec; state.initialPoint = state.currPoint; if (args.size() > 2) { - return LineTo.absolute(state, args.subList(2, args.size() - 1)); + return LineTo.absolute(state, args.subList(2, args.size())); } } else { state.currPoint = state.currPoint.translate(vec); state.initialPoint = state.currPoint; if (args.size() > 2) { - return LineTo.relative(state, args.subList(2, args.size() - 1)); + return LineTo.relative(state, args.subList(2, args.size())); } }