16
16
17
17
package org .springframework .expression .spel ;
18
18
19
- import org .junit .jupiter .api .Disabled ;
20
19
import org .junit .jupiter .api .Test ;
21
20
22
21
import org .springframework .expression .spel .standard .SpelExpressionParser ;
@@ -106,22 +105,6 @@ void functionWithVarargs() {
106
105
evaluate ("#varargsFunction2(9,'a',null,'b')" , "9-[a, null, b]" , String .class );
107
106
}
108
107
109
- @ Disabled ("Disabled until bugs are reported and fixed" )
110
- @ Test
111
- void functionWithVarargsViaMethodHandle_CurrentlyFailing () {
112
- // Calling 'public static String formatObjectVarargs(String format, Object... args)' -> String.format(format, args)
113
-
114
- // No conversion necessary
115
- evaluate ("#formatObjectVarargs('x -> %s', new Object[]{''})" , "x -> " , String .class );
116
- evaluate ("#formatObjectVarargs('x -> %s', new String[]{''})" , "x -> " , String .class );
117
- evaluate ("#formatObjectVarargs('x -> %s', new Object[]{' '})" , "x -> " , String .class );
118
- evaluate ("#formatObjectVarargs('x -> %s', new String[]{' '})" , "x -> " , String .class );
119
- evaluate ("#formatObjectVarargs('x -> %s', new Object[]{'a'})" , "x -> a" , String .class );
120
- evaluate ("#formatObjectVarargs('x -> %s', new String[]{'a'})" , "x -> a" , String .class );
121
- evaluate ("#formatObjectVarargs('x -> %s %s %s', new Object[]{'a', 'b', 'c'})" , "x -> a b c" , String .class );
122
- evaluate ("#formatObjectVarargs('x -> %s %s %s', new String[]{'a', 'b', 'c'})" , "x -> a b c" , String .class );
123
- }
124
-
125
108
@ Test // gh-33013
126
109
void functionWithVarargsViaMethodHandle () {
127
110
// Calling 'public static String formatObjectVarargs(String format, Object... args)' -> String.format(format, args)
@@ -138,6 +121,14 @@ void functionWithVarargsViaMethodHandle() {
138
121
evaluate ("#formatObjectVarargs('x -> %s', ' ')" , "x -> " , String .class );
139
122
evaluate ("#formatObjectVarargs('x -> %s', 'a')" , "x -> a" , String .class );
140
123
evaluate ("#formatObjectVarargs('x -> %s %s %s', 'a', 'b', 'c')" , "x -> a b c" , String .class );
124
+ evaluate ("#formatObjectVarargs('x -> %s', new Object[]{''})" , "x -> " , String .class );
125
+ evaluate ("#formatObjectVarargs('x -> %s', new String[]{''})" , "x -> " , String .class );
126
+ evaluate ("#formatObjectVarargs('x -> %s', new Object[]{' '})" , "x -> " , String .class );
127
+ evaluate ("#formatObjectVarargs('x -> %s', new String[]{' '})" , "x -> " , String .class );
128
+ evaluate ("#formatObjectVarargs('x -> %s', new Object[]{'a'})" , "x -> a" , String .class );
129
+ evaluate ("#formatObjectVarargs('x -> %s', new String[]{'a'})" , "x -> a" , String .class );
130
+ evaluate ("#formatObjectVarargs('x -> %s %s %s', new Object[]{'a', 'b', 'c'})" , "x -> a b c" , String .class );
131
+ evaluate ("#formatObjectVarargs('x -> %s %s %s', new String[]{'a', 'b', 'c'})" , "x -> a b c" , String .class );
141
132
142
133
// Conversion necessary
143
134
evaluate ("#add('2', 5.0)" , 7 , Integer .class );
0 commit comments