Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit d8c077d

Browse files
add test case for while loop statement
1 parent b901d12 commit d8c077d

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package com.trivadis.plsql.formatter.settings.tests.grammar.plsql;
2+
3+
import com.trivadis.plsql.formatter.settings.ConfiguredTestFormatter;
4+
import org.junit.jupiter.api.Test;
5+
6+
import java.io.IOException;
7+
8+
public class While_loop_statement extends ConfiguredTestFormatter {
9+
10+
@Test
11+
public void example_14_47_tokenized() throws IOException {
12+
var input = """
13+
DECLARE
14+
done BOOLEAN := FALSE;
15+
BEGIN
16+
WHILE
17+
done
18+
LOOP
19+
DBMS_OUTPUT
20+
.
21+
PUT_LINE
22+
(
23+
'This line does not print.'
24+
)
25+
;
26+
done
27+
:
28+
=
29+
TRUE; -- This assignment is not made.
30+
END
31+
LOOP
32+
;
33+
34+
WHILE
35+
NOT
36+
done
37+
LOOP
38+
DBMS_OUTPUT
39+
.
40+
PUT_LINE
41+
(
42+
'Hello, world!'
43+
)
44+
;
45+
done
46+
:
47+
=
48+
TRUE;
49+
END
50+
LOOP
51+
;
52+
END;
53+
/
54+
""";
55+
var actual = formatter.format(input);
56+
var expected = """
57+
declare
58+
done boolean := FALSE;
59+
begin
60+
while done
61+
loop
62+
DBMS_OUTPUT.PUT_LINE('This line does not print.');
63+
done :=
64+
TRUE; -- This assignment is not made.
65+
end loop;
66+
67+
while not done
68+
loop
69+
DBMS_OUTPUT.PUT_LINE('Hello, world!');
70+
done :=
71+
TRUE;
72+
end loop;
73+
end;
74+
/
75+
""";
76+
assertEquals(expected, actual);
77+
}
78+
}

0 commit comments

Comments
 (0)