This commit is contained in:
Stéphane Nicoll
2024-01-15 11:17:11 +01:00
parent e1236a8672
commit 0c42965fc3
71 changed files with 543 additions and 828 deletions

View File

@@ -36,6 +36,7 @@ import java.util.Objects;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger;
import org.assertj.core.api.InstanceOfAssertFactories;
import org.junit.jupiter.api.Test;
import org.springframework.core.MethodParameter;
@@ -1374,11 +1375,8 @@ class SpelReproTests extends AbstractExpressionTests {
SpelExpressionParser parser = new SpelExpressionParser();
Expression expr = parser.parseExpression("new java.util.ArrayList(#root)");
Object value = expr.getValue(coll);
assertThat(value).isInstanceOf(ArrayList.class);
@SuppressWarnings("rawtypes")
ArrayList<?> list = (ArrayList) value;
assertThat(list).element(0).isEqualTo("one");
assertThat(list).element(1).isEqualTo("two");
assertThat(value).isInstanceOf(ArrayList.class)
.asInstanceOf(InstanceOfAssertFactories.list(String.class)).containsExactly("one", "two");
}
@Test

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,8 +17,6 @@
package org.springframework.expression.spel.support;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import org.junit.jupiter.api.Test;
@@ -51,12 +49,9 @@ class StandardEvaluationContextTests {
assertThat(target.getTypeLocator()).isSameAs(this.evaluationContext.getTypeLocator());
assertThat(target.getTypeConverter()).isSameAs(this.evaluationContext.getTypeConverter());
assertThat(target.getOperatorOverloader()).isSameAs(this.evaluationContext.getOperatorOverloader());
assertThat(target.getPropertyAccessors()).satisfies(hasSameElements(
this.evaluationContext.getPropertyAccessors()));
assertThat(target.getConstructorResolvers()).satisfies(hasSameElements(
this.evaluationContext.getConstructorResolvers()));
assertThat(target.getMethodResolvers()).satisfies(hasSameElements(
this.evaluationContext.getMethodResolvers()));
assertThat(target.getPropertyAccessors()).hasSameElementsAs(this.evaluationContext.getPropertyAccessors());
assertThat(target.getConstructorResolvers()).hasSameElementsAs(this.evaluationContext.getConstructorResolvers());
assertThat(target.getMethodResolvers()).hasSameElementsAs(this.evaluationContext.getMethodResolvers());
}
@Test
@@ -75,12 +70,9 @@ class StandardEvaluationContextTests {
assertThat(target.getTypeLocator()).isSameAs(this.evaluationContext.getTypeLocator());
assertThat(target.getTypeConverter()).isSameAs(this.evaluationContext.getTypeConverter());
assertThat(target.getOperatorOverloader()).isSameAs(this.evaluationContext.getOperatorOverloader());
assertThat(target.getPropertyAccessors()).satisfies(hasSameElements(
this.evaluationContext.getPropertyAccessors()));
assertThat(target.getConstructorResolvers()).satisfies(hasSameElements(
this.evaluationContext.getConstructorResolvers()));
assertThat(target.getMethodResolvers()).satisfies(hasSameElements(
this.evaluationContext.getMethodResolvers()));
assertThat(target.getPropertyAccessors()).hasSameElementsAs(this.evaluationContext.getPropertyAccessors());
assertThat(target.getConstructorResolvers()).hasSameElementsAs(this.evaluationContext.getConstructorResolvers());
assertThat(target.getMethodResolvers()).hasSameElementsAs(this.evaluationContext.getMethodResolvers());
}
@Test
@@ -110,13 +102,4 @@ class StandardEvaluationContextTests {
assertThat(target.getMethodResolvers()).doesNotContain(methodResolver);
}
private Consumer<List<?>> hasSameElements(List<?> candidates) {
return actual -> {
assertThat(actual.size()).isEqualTo(candidates.size());
for (int i = 0; i < candidates.size(); i++) {
assertThat(candidates.get(i)).isSameAs(actual.get(i));
}
};
}
}