Skip to content

Commit c410159

Browse files
Regression: StringBuilder append with int argument
This specifies a substring to append and was not tested before.
1 parent e6700ff commit c410159

File tree

3 files changed

+36
-11
lines changed

3 files changed

+36
-11
lines changed
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
11
public class test_append_string
22
{
3-
public static void main(/*String[] args*/)
4-
{
5-
String di = new String("di");
6-
StringBuilder diff = new StringBuilder();
7-
diff.append(di);
8-
diff.append("ff");
9-
System.out.println(diff);
10-
String s = diff.toString();
11-
System.out.println(s);
12-
assert s.equals("diff");
13-
}
3+
public static void main()
4+
{
5+
String di = new String("di");
6+
StringBuilder diff = new StringBuilder();
7+
diff.append(di);
8+
diff.append("ff");
9+
System.out.println(diff);
10+
String s = diff.toString();
11+
System.out.println(s);
12+
assert s.equals("diff");
13+
}
14+
15+
public static void check(StringBuilder sb, String str)
16+
{
17+
String init = sb.toString();
18+
if(str.length() >= 4)
19+
{
20+
sb.append(str, 2, 4);
21+
String res = sb.toString();
22+
assert(res.startsWith(init));
23+
assert(res.endsWith(str.substring(2, 4)));
24+
assert(res.length() == init.length() + 2);
25+
assert(!res.equals("foobarfuz"));
26+
}
27+
}
28+
1429
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CORE
2+
test_append_string.class
3+
--refine-strings --string-max-length 10 --function test_append_string.check --java-assume-inputs-non-null
4+
^EXIT=10$
5+
^SIGNAL=0$
6+
^\[.*assertion.*\].* line 22.* SUCCESS$
7+
^\[.*assertion.*\].* line 23.* SUCCESS$
8+
^\[.*assertion.*\].* line 24.* SUCCESS$
9+
^\[.*assertion.*\].* line 25.* FAILURE$
10+
--

0 commit comments

Comments
 (0)