DATAREST-1274 - JsonPatch paths now properly verify multi-digit indexes.

This commit is contained in:
Oliver Gierke
2018-08-08 08:44:43 +02:00
parent 8c2aecce6c
commit 3eb0e1551a
2 changed files with 12 additions and 1 deletions

View File

@@ -474,7 +474,7 @@ class SpelPath {
for (String part : parts) {
if (part.matches("\\d") || APPEND_CHARACTERS.contains(part) || part.isEmpty()) {
if (part.matches("\\d+") || APPEND_CHARACTERS.contains(part) || part.isEmpty()) {
continue;
}

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.data.rest.webmvc.json.patch;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import java.util.ArrayList;
@@ -23,6 +24,11 @@ import java.util.List;
import org.junit.Test;
import org.springframework.data.rest.webmvc.json.patch.SpelPath.TypedSpelPath;
/**
* Unit tests for {@link SpelPath}.
*
* @author Oliver Gierke
*/
public class SpelPathUnitTests {
@Test
@@ -69,4 +75,9 @@ public class SpelPathUnitTests {
assertSame(left, right);
}
@Test // DATAREST-1274
public void supportsMultiDigitCollectionIndex() {
assertThat(SpelPath.of("/11/description").getLeafType(Todo.class), is(typeCompatibleWith(String.class)));
}
}