This repository was archived by the owner on Aug 30, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +70
-0
lines changed
standalone/src/test/java/com/trivadis/plsql/formatter/settings/tests/rules Expand file tree Collapse file tree 2 files changed +70
-0
lines changed Original file line number Diff line number Diff line change @@ -862,6 +862,7 @@ i9_remove_duplicate_spaces_in_scope:
862862-- - A2: Remove trailing spaces.
863863-- - A3: Do not format code between @formatter:off and @formatter:on comments.
864864-- - O2: White Space: Around operators. Options: true; false. (spaceAroundOperators).
865+ -- - A22: No space between sign and digits.
865866-- - A13: Keep short nodes on the same line.
866867-- - A5: No space before node.
867868-- - A6: No space after node.
@@ -1013,6 +1014,21 @@ o2_whitespace_around_operators:
10131014 }
10141015}
10151016
1017+ -- --------------------------------------------------------------------------------------------------------------------
1018+ -- A22: No space between sign and digits.
1019+ -- --------------------------------------------------------------------------------------------------------------------
1020+
1021+ a22_no_space_between_sign_and_digits:
1022+ ([node) '-' | [node) '+')
1023+ & ![node) binary_add_op
1024+ & [node+1) digits
1025+ & ![node-1) digits
1026+ & ![node-1) expr
1027+ -> {
1028+ struct.putNewline(node.to, "");
1029+ logger.fine(struct.getClass(), "a22_no_space_between_sign_and_digits: at " + node.to + ".");
1030+ }
1031+
10161032-- --------------------------------------------------------------------------------------------------------------------
10171033-- A13: Keep short nodes on the same line.
10181034-- --------------------------------------------------------------------------------------------------------------------
Original file line number Diff line number Diff line change 1+ package com .trivadis .plsql .formatter .settings .tests .rules ;
2+
3+ import com .trivadis .plsql .formatter .settings .ConfiguredTestFormatter ;
4+ import org .junit .jupiter .api .Test ;
5+
6+ public class A22_no_space_between_sign_and_digits extends ConfiguredTestFormatter {
7+
8+ @ Test
9+ public void insert_negative_number () {
10+ var sql = """
11+ insert into dept (deptno, dname, loc)
12+ values (-1, 'Testing', 'Winterthur');
13+ """ ;
14+ formatAndAssert (sql );
15+ }
16+
17+ @ Test
18+ public void insert_positive_number () {
19+ var sql = """
20+ insert into dept (deptno, dname, loc)
21+ values (+1, 'Testing', 'Winterthur');
22+ """ ;
23+ formatAndAssert (sql );
24+ }
25+
26+ @ Test
27+ public void insert_expression_with_negative_number () {
28+ var sql = """
29+ insert into dept (deptno, dname, loc)
30+ values ((a + b / 2) + -1, 'Testing', 'Winterthur');
31+ """ ;
32+ formatAndAssert (sql );
33+ }
34+
35+ @ Test
36+ public void assignment_with_negative_number () {
37+ var sql = """
38+ begin
39+ a := b - 1;
40+ end;
41+ """ ;
42+ formatAndAssert (sql );
43+ }
44+
45+ @ Test
46+ public void assignment_with_positive_number () {
47+ var sql = """
48+ begin
49+ x := p1(1) + p1(2) + 17;
50+ end;
51+ """ ;
52+ formatAndAssert (sql );
53+ }
54+ }
You can’t perform that action at this time.
0 commit comments