1
+ package org.utplsql.sqldev.test.parser
2
+
3
+ import org.junit.Assert
4
+ import org.junit.Test
5
+ import org.utplsql.sqldev.parser.SqlDevParser
6
+
7
+ class SqlDevParserTest {
8
+ val packageSpec = ' ' '
9
+ CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is
10
+ --%suite(JUnit testing)
11
+ --%suitepath(a)
12
+
13
+ --%context(test context)
14
+
15
+ --%test(test 1 - OK)
16
+ PRoCeDURE test_1_ok;
17
+
18
+ --%test(test 2 - NOK)
19
+ PROCEDURE test_2_nok;
20
+
21
+ --%test(test 3 - disabled)
22
+ --%disabled
23
+ PROCEDURE test_3_disabled;
24
+
25
+ --%test(test 4 - errored)
26
+ PROCEDURE test_4_errored;
27
+
28
+ --%test(test 5 - warnings)
29
+ PROCEDURE test_5_warnings;
30
+ --%endcontext
31
+
32
+ function my_Func (p IN number) RETURN BOOLEAN;
33
+ END;
34
+ ' ' '
35
+
36
+ val packageBody = ' ' '
37
+ CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS
38
+ PROCEDURE test_1_ok IS
39
+ BEGIN
40
+ dbms_output.put_line(' start test 1 ' );
41
+ dbms_session.sleep(1);
42
+ ut.expect(1).to_equal(1);
43
+ dbms_output.put_line(' end test 1 ' );
44
+ END;
45
+
46
+ PROCEDURE test_2_nok IS
47
+ BEGIN
48
+ dbms_output.put_line(' start test 2 ' );
49
+ dbms_session.sleep(2);
50
+ ut.expect(1, ' first assert. ' ).to_equal(2);
51
+ ut.expect(1, ' second assert. ' ).to_equal(2);
52
+ dbms_output.put_line(' end test 2 ' );
53
+ END;
54
+
55
+ PROCEDURE test_3_disabled IS
56
+ BEGIN
57
+ NULL;
58
+ END;
59
+
60
+ PROCEDURE test_4_errored IS
61
+ BEGIN
62
+ EXECUTE IMMEDIATE ' bla bla' ;
63
+ END;
64
+
65
+ PROCEDURE test_5_warnings IS
66
+ BEGIN
67
+ COMMIT; -- will raise a warning
68
+ ut.expect(1).to_equal(1);
69
+ END;
70
+
71
+ FUNCTION my_Func (p IN number) RETURN BOOLEAN IS
72
+ RETURN TRUE;
73
+ END;
74
+ END;
75
+ ' ' '
76
+
77
+ @Test
78
+ def void packageSpecMembers () {
79
+ val parser = new SqlDevParser
80
+ val actual = parser. getMembers(packageSpec)
81
+ Assert . assertEquals(6 , actual. length)
82
+ val first = actual. get(0 )
83
+ Assert . assertEquals(" PROCEDURE" , first. type)
84
+ Assert . assertEquals(" test_1_ok" , first. name)
85
+ val last = actual. get(5 )
86
+ Assert . assertEquals(" FUNCTION" , last. type)
87
+ Assert . assertEquals(" my_Func" , last. name)
88
+ }
89
+
90
+ @Test
91
+ def void packageBodyMembers () {
92
+ val parser = new SqlDevParser
93
+ val actual = parser. getMembers(packageBody)
94
+ Assert . assertEquals(6 , actual. length)
95
+ val first = actual. get(0 )
96
+ Assert . assertEquals(" PROCEDURE" , first. type)
97
+ Assert . assertEquals(" test_1_ok" , first. name)
98
+ val last = actual. get(5 )
99
+ Assert . assertEquals(" FUNCTION" , last. type)
100
+ Assert . assertEquals(" my_Func" , last. name)
101
+ }
102
+
103
+ @Test
104
+ def void StartLineSpec () {
105
+ val parser = new SqlDevParser
106
+ val first = parser. getMemberStartLine(packageSpec, ' test_1_ok' )
107
+ Assert . assertEquals(8 , first)
108
+ val last = parser. getMemberStartLine(packageSpec, ' my_func' )
109
+ Assert . assertEquals(24 , last)
110
+ }
111
+
112
+ @Test
113
+ def void StartLineBody () {
114
+ val parser = new SqlDevParser
115
+ val first = parser. getMemberStartLine(packageBody, ' test_1_ok' )
116
+ Assert . assertEquals(2 , first)
117
+ val last = parser. getMemberStartLine(packageBody, ' my_func' )
118
+ Assert . assertEquals(35 , last)
119
+ }
120
+
121
+
122
+
123
+ }
0 commit comments