Skip to content

Commit 02a470e

Browse files
added test cases
1 parent 09f494a commit 02a470e

File tree

4 files changed

+86
-0
lines changed

4 files changed

+86
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+
void foo(int x) {
4+
switch (x) { // CHECK: Start refactoring here
5+
case 1:
6+
bar();
7+
break;
8+
case 2:
9+
baz();
10+
break;
11+
default:
12+
qux();
13+
}
14+
}
15+
16+
// CHECK: if (x == 1) {
17+
// CHECK-NEXT: bar();
18+
// CHECK-NEXT: } else if (x == 2) {
19+
// CHECK-NEXT: baz();
20+
// CHECK-NEXT: } else {
21+
// CHECK-NEXT: qux();
22+
// CHECK-NEXT: }
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+
void g(int v) {
4+
switch (v) {
5+
case 3:
6+
alpha();
7+
[[fallthrough]];
8+
case 4:
9+
beta();
10+
break;
11+
default:
12+
gamma();
13+
}
14+
}
15+
16+
// CHECK: if (v == 3) {
17+
// CHECK-NEXT: alpha();
18+
// CHECK-NEXT: beta();
19+
// CHECK-NEXT: } else if (v == 4) {
20+
// CHECK-NEXT: beta();
21+
// CHECK-NEXT: } else {
22+
// CHECK-NEXT: gamma();
23+
// CHECK-NEXT: }
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+
void test(int n) {
4+
switch (n) {
5+
case 1:
6+
case 2:
7+
handleSmall();
8+
break;
9+
case 10:
10+
handleLarge();
11+
break;
12+
default:
13+
handleOther();
14+
}
15+
}
16+
17+
// CHECK: if (n == 1 || n == 2) {
18+
// CHECK-NEXT: handleSmall();
19+
// CHECK-NEXT: } else if (n == 10) {
20+
// CHECK-NEXT: handleLarge();
21+
// CHECK-NEXT: } else {
22+
// CHECK-NEXT: handleOther();
23+
// CHECK-NEXT: }
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+
void f(int k) {
4+
switch (k) {
5+
case 5:
6+
ping();
7+
break;
8+
case 7:
9+
pong();
10+
break;
11+
}
12+
}
13+
14+
// CHECK: if (k == 5) {
15+
// CHECK-NEXT: ping();
16+
// CHECK-NEXT: } else if (k == 7) {
17+
// CHECK-NEXT: pong();
18+
// CHECK-NEXT: }

0 commit comments

Comments
 (0)