@@ -44,166 +44,236 @@ class RouteHyperlinkDetectorTest extends RouteTest {
44
44
45
45
@ Test
46
46
def scalaControllerNoParameterAction () {
47
- testWithAnswer(""" GET / controllers.ScalaA@ pplication.intro""" , " controllers.ScalaApplication.intro" )
47
+ testWithAnswer(""" GET / controllers.ScalaA~ pplication.intro""" , " controllers.ScalaApplication.intro" )
48
48
}
49
49
50
50
@ Test
51
51
def scalaControllerNoParameterAction2 () {
52
- testWithAnswer(""" GET / controllers.ScalaApplication@ .withEmptyParams""" , " controllers.ScalaApplication.withEmptyParams()" )
52
+ testWithAnswer(""" GET / controllers.ScalaApplication~ .withEmptyParams""" , " controllers.ScalaApplication.withEmptyParams()" )
53
53
}
54
54
55
55
@ Test
56
56
def scalaControllerEmptyParametersAction () {
57
- testWithAnswer(""" GET / controllers.ScalaA@ pplication.intro()""" , " controllers.ScalaApplication.intro" )
57
+ testWithAnswer(""" GET / controllers.ScalaA~ pplication.intro()""" , " controllers.ScalaApplication.intro" )
58
58
}
59
59
60
60
@ Test
61
61
def scalaControllerEmptyParametersAction2 () {
62
- testWithAnswer(""" GET / controllers.ScalaApplication@ .withEmptyParams()""" , " controllers.ScalaApplication.withEmptyParams()" )
62
+ testWithAnswer(""" GET / controllers.ScalaApplication~ .withEmptyParams()""" , " controllers.ScalaApplication.withEmptyParams()" )
63
63
}
64
64
65
65
@ Test
66
66
def scalaControllerIntAction () {
67
- testWithAnswer(""" GET /:a controllers.ScalaApplicati@ on.pInt(a: Int)""" , " controllers.ScalaApplication.pInt(Int)" )
67
+ testWithAnswer(""" GET /:a controllers.ScalaApplicati~ on.pInt(a: Int)""" , " controllers.ScalaApplication.pInt(Int)" )
68
68
}
69
69
70
70
@ Test
71
71
def scalaControllerStringAction () {
72
- testWithAnswer(""" GET /:a controllers.ScalaApplicatio@ n.pString(a)""" , " controllers.ScalaApplication.pString(String)" )
72
+ testWithAnswer(""" GET /:a controllers.ScalaApplicatio~ n.pString(a)""" , " controllers.ScalaApplication.pString(String)" )
73
73
}
74
74
75
75
@ Test
76
76
def scalaControllerRefAction () {
77
- testWithAnswer(""" GET /:a controllers.ScalaApplicatio@ n.pRef(a: model.Element)""" , " controllers.ScalaApplication.pRef(model.Element)" )
77
+ testWithAnswer(""" GET /:a controllers.ScalaApplicatio~ n.pRef(a: model.Element)""" , " controllers.ScalaApplication.pRef(model.Element)" )
78
78
}
79
79
80
80
@ Test
81
81
def scalaControllerOverloadedIntAction () {
82
- testWithAnswer(""" GET /:a controllers.ScalaApplicati@ on.overloaded(a: Int)""" , " controllers.ScalaApplication.overloaded(Int)" )
82
+ testWithAnswer(""" GET /:a controllers.ScalaApplicati~ on.overloaded(a: Int)""" , " controllers.ScalaApplication.overloaded(Int)" )
83
83
}
84
84
85
85
@ Test
86
86
def scalaControllerOverloadedStringAction () {
87
- testWithAnswer(""" GET /:a controllers.ScalaApplicati@ on.overloaded(a)""" , " controllers.ScalaApplication.overloaded(String)" )
87
+ testWithAnswer(""" GET /:a controllers.ScalaApplicati~ on.overloaded(a)""" , " controllers.ScalaApplication.overloaded(String)" )
88
88
}
89
89
90
90
@ Test
91
91
def scalaControllerOverloadedRefAction () {
92
- testWithAnswer(""" GET /:a controllers.ScalaApplicati@ on.overloaded(a: model.Element)""" , " controllers.ScalaApplication.overloaded(model.Element)" )
92
+ testWithAnswer(""" GET /:a controllers.ScalaApplicati~ on.overloaded(a: model.Element)""" , " controllers.ScalaApplication.overloaded(model.Element)" )
93
93
}
94
94
95
95
@ Test
96
96
def scalaControllerOverloadedStringRefAction () {
97
- testWithAnswer(""" GET /:a controllers.ScalaApplicati@ on.overloaded(b, a: model.Element)""" , " controllers.ScalaApplication.overloaded(String,model.Element)" )
97
+ testWithAnswer(""" GET /:a controllers.ScalaApplicati~ on.overloaded(b, a: model.Element)""" , " controllers.ScalaApplication.overloaded(String,model.Element)" )
98
98
}
99
99
100
100
@ Test
101
101
def scalaNoMatch {
102
- testWithoutAnswer(""" GET / some.unexisting.p@ ackage.Application.index""" )
102
+ testWithoutAnswer(""" GET / some.unexisting.p~ ackage.Application.index""" )
103
103
}
104
104
105
105
@ Test
106
106
def scalaWrongParameterTypes {
107
- testWithoutAnswer(""" GET /:s controllers.Sca@ laApplication.pInt(s)""" )
107
+ testWithoutAnswer(""" GET /:s controllers.Sca~ laApplication.pInt(s)""" )
108
108
}
109
109
110
110
@ Test
111
111
def scalaWrongParameterTypesOverloaded {
112
- testWithoutAnswer(
""" GET /:s [email protected] (s, i: Int)""" )
112
+ testWithoutAnswer(""" GET /:s controllers.ScalaAppl~ication.overloaded(s, i: Int)""" )
113
+ }
114
+
115
+ @ Test
116
+ def scalaControllerClassNoParameterAction () {
117
+ testWithAnswer(""" GET / @controllers.ScalaC~lass.intro""" , " controllers.ScalaClass.intro" )
118
+ }
119
+
120
+ @ Test
121
+ def scalaControllerClassNoParameterAction2 () {
122
+ testWithAnswer(""" GET / @controllers.ScalaClass~.withEmptyParams""" , " controllers.ScalaClass.withEmptyParams()" )
123
+ }
124
+
125
+ @ Test
126
+ def scalaControllerClassEmptyParametersAction () {
127
+ testWithAnswer(""" GET / @controllers.ScalaC~lass.intro()""" , " controllers.ScalaClass.intro" )
128
+ }
129
+
130
+ @ Test
131
+ def scalaControllerClassEmptyParametersAction2 () {
132
+ testWithAnswer(""" GET / @controllers.ScalaClass~.withEmptyParams()""" , " controllers.ScalaClass.withEmptyParams()" )
133
+ }
134
+
135
+ @ Test
136
+ def scalaControllerClassIntAction () {
137
+ testWithAnswer(""" GET /:a @controllers.ScalaCla~ss.pInt(a: Int)""" , " controllers.ScalaClass.pInt(Int)" )
138
+ }
139
+
140
+ @ Test
141
+ def scalaControllerClassStringAction () {
142
+ testWithAnswer(""" GET /:a @controllers.ScalaClas~s.pString(a)""" , " controllers.ScalaClass.pString(String)" )
143
+ }
144
+
145
+ @ Test
146
+ def scalaControllerClassRefAction () {
147
+ testWithAnswer(""" GET /:a @controllers.ScalaClas~s.pRef(a: model.Element)""" , " controllers.ScalaClass.pRef(model.Element)" )
148
+ }
149
+
150
+ @ Test
151
+ def scalaControllerClassOverloadedIntAction () {
152
+ testWithAnswer(""" GET /:a @controllers.ScalaCla~ss.overloaded(a: Int)""" , " controllers.ScalaClass.overloaded(Int)" )
153
+ }
154
+
155
+ @ Test
156
+ def scalaControllerClassOverloadedStringAction () {
157
+ testWithAnswer(""" GET /:a @controllers.ScalaCla~ss.overloaded(a)""" , " controllers.ScalaClass.overloaded(String)" )
158
+ }
159
+
160
+ @ Test
161
+ def scalaControllerClassOverloadedRefAction () {
162
+ testWithAnswer(""" GET /:a @controllers.ScalaCla~ss.overloaded(a: model.Element)""" , " controllers.ScalaClass.overloaded(model.Element)" )
163
+ }
164
+
165
+ @ Test
166
+ def scalaControllerClassOverloadedStringRefAction () {
167
+ testWithAnswer(""" GET /:a @controllers.ScalaCla~ss.overloaded(b, a: model.Element)""" , " controllers.ScalaClass.overloaded(String,model.Element)" )
168
+ }
169
+
170
+ @ Test
171
+ def scalaClassNoMatch {
172
+ testWithoutAnswer(""" GET / @some.unexisting.p~ackage.Class.index""" )
173
+ }
174
+
175
+ @ Test
176
+ def scalaClassWrongParameterTypes {
177
+ testWithoutAnswer(""" GET /:s controllers.Sca~laClass.pInt(s)""" )
178
+ }
179
+
180
+ @ Test
181
+ def scalaClassWrongParameterTypesOverloaded {
182
+ testWithoutAnswer(""" GET /:s controllers.ScalaCl~ass.overloaded(s, i: Int)""" )
113
183
}
114
184
115
185
@ Test
116
186
def javaControllerNoParameterAction () {
117
- testWithAnswer(""" GET / controllers.JavaAp@ plication.intro""" , " controllers.JavaApplication.intro()QObject;" )
187
+ testWithAnswer(""" GET / controllers.JavaAp~ plication.intro""" , " controllers.JavaApplication.intro()QObject;" )
118
188
}
119
189
120
190
@ Test
121
191
def javaControllerNoParameterAction2 () {
122
- testWithAnswer(""" GET / controllers.JavaAp@ plication.withEmptyParams""" , " controllers.JavaApplication.withEmptyParams()QObject;" )
192
+ testWithAnswer(""" GET / controllers.JavaAp~ plication.withEmptyParams""" , " controllers.JavaApplication.withEmptyParams()QObject;" )
123
193
}
124
194
125
195
@ Test
126
196
def javaControllerEmptyParametersAction () {
127
- testWithAnswer(""" GET / controllers.JavaAp@ plication.intro()""" , " controllers.JavaApplication.intro()QObject;" )
197
+ testWithAnswer(""" GET / controllers.JavaAp~ plication.intro()""" , " controllers.JavaApplication.intro()QObject;" )
128
198
}
129
199
130
200
@ Test
131
201
def javaControllerEmptyParametersAction2 () {
132
- testWithAnswer(""" GET / controllers.JavaApplication.@ withEmptyParams()""" , " controllers.JavaApplication.withEmptyParams()QObject;" )
202
+ testWithAnswer(""" GET / controllers.JavaApplication.~ withEmptyParams()""" , " controllers.JavaApplication.withEmptyParams()QObject;" )
133
203
}
134
204
135
205
@ Test
136
206
def javaControllerIntAction () {
137
- testWithAnswer(""" GET /:a controllers.JavaApplicatio@ n.pInt(a: Int)""" , " controllers.JavaApplication.pInt(I)QObject;" )
207
+ testWithAnswer(""" GET /:a controllers.JavaApplicatio~ n.pInt(a: Int)""" , " controllers.JavaApplication.pInt(I)QObject;" )
138
208
}
139
209
140
210
@ Test
141
211
def javaControllerStringAction () {
142
- testWithAnswer(""" GET /:a controllers.JavaApplication@ .pString(a)""" , " controllers.JavaApplication.pString(QString;)QObject;" )
212
+ testWithAnswer(""" GET /:a controllers.JavaApplication~ .pString(a)""" , " controllers.JavaApplication.pString(QString;)QObject;" )
143
213
}
144
214
145
215
@ Test
146
216
def javaControllerRefAction () {
147
- testWithAnswer(""" GET /:a controllers.JavaApplication@ .pRef(a: model.Element)""" , " controllers.JavaApplication.pRef(QElement;)QObject;" )
217
+ testWithAnswer(""" GET /:a controllers.JavaApplication~ .pRef(a: model.Element)""" , " controllers.JavaApplication.pRef(QElement;)QObject;" )
148
218
}
149
219
150
220
@ Test
151
221
def javaControllerOverloadedIntAction () {
152
- testWithAnswer(""" GET /:a controllers.JavaApplicatio@ n.overloaded(a: Int)""" , " controllers.JavaApplication.overloaded(I)QObject;" )
222
+ testWithAnswer(""" GET /:a controllers.JavaApplicatio~ n.overloaded(a: Int)""" , " controllers.JavaApplication.overloaded(I)QObject;" )
153
223
}
154
224
155
225
@ Test
156
226
def javaControllerOverloadedStringAction () {
157
- testWithAnswer(""" GET /:a controllers.JavaApplicatio@ n.overloaded(a)""" , " controllers.JavaApplication.overloaded(QString;)QObject;" )
227
+ testWithAnswer(""" GET /:a controllers.JavaApplicatio~ n.overloaded(a)""" , " controllers.JavaApplication.overloaded(QString;)QObject;" )
158
228
}
159
229
160
230
@ Test
161
231
def javaControllerOverloadedRefAction () {
162
- testWithAnswer(""" GET /:a controllers.JavaApplicatio@ n.overloaded(a: model.Element)""" , " controllers.JavaApplication.overloaded(QElement;)QObject;" )
232
+ testWithAnswer(""" GET /:a controllers.JavaApplicatio~ n.overloaded(a: model.Element)""" , " controllers.JavaApplication.overloaded(QElement;)QObject;" )
163
233
}
164
234
165
235
@ Test
166
236
def javaControllerOverloadedStringRefAction () {
167
- testWithAnswer(""" GET /:a controllers.JavaApplicatio@ n.overloaded(b, a: model.Element)""" , " controllers.JavaApplication.overloaded(QString;QElement;)QObject;" )
237
+ testWithAnswer(""" GET /:a controllers.JavaApplicatio~ n.overloaded(b, a: model.Element)""" , " controllers.JavaApplication.overloaded(QString;QElement;)QObject;" )
168
238
}
169
239
170
240
@ Test
171
241
def javaNoMatch {
172
- testWithoutAnswer(""" GET / some.unexisting.p@ ackage.Application.index""" )
242
+ testWithoutAnswer(""" GET / some.unexisting.p~ ackage.Application.index""" )
173
243
}
174
244
175
245
@ Test
176
246
def javaWrongParameterTypes {
177
- testWithoutAnswer(""" GET /:s some.unexisting@ .package.Application.pInt(s)""" )
247
+ testWithoutAnswer(""" GET /:s some.unexisting~ .package.Application.pInt(s)""" )
178
248
}
179
249
180
250
@ Test
181
251
def javaWrongParameterTypesOverloaded {
182
- testWithoutAnswer(""" GET /:s some.unexisting.packa@ ge.Application.overloaded(s, i: Int)""" )
252
+ testWithoutAnswer(""" GET /:s some.unexisting.packa~ ge.Application.overloaded(s, i: Int)""" )
183
253
}
184
254
185
255
private def testWithAnswer (
186
256
content : String ,
187
257
expectedLabel : String ) {
188
258
189
- val file = RouteFile (content)
259
+ val file = RouteFile (content, List ( '~' ) )
190
260
191
- val actual = RouteHyperlinkComputer .detectHyperlinks(project, file.document, new Region (file.caretOffset('@ ' ), 0 ), createJavaHyperlink)
261
+ val actual = RouteHyperlinkComputer .detectHyperlinks(project, file.document, new Region (file.caretOffset('~ ' ), 0 ), createJavaHyperlink)
192
262
193
263
actual match {
194
264
case Some (hyperlink) =>
195
265
assertEquals(" Wrong label" , expectedLabel, hyperlink.getTypeLabel())
196
- assertEquals(" Wrong region" , file.document.getPartition(file.caretOffset('@ ' )), hyperlink.getHyperlinkRegion())
266
+ assertEquals(" Wrong region" , file.document.getPartition(file.caretOffset('~ ' )), hyperlink.getHyperlinkRegion())
197
267
case _ =>
198
268
fail(" Wrong detectHyperlink result. Expected: Some(hyperlink), was: %s" .format(actual))
199
269
}
200
270
}
201
271
202
272
private def testWithoutAnswer (content : String ) {
203
273
204
- val file = RouteFile (content)
274
+ val file = RouteFile (content, List ( '~' ) )
205
275
206
- val actual = RouteHyperlinkComputer .detectHyperlinks(project, file.document, new Region (file.caretOffset('@ ' ), 0 ), createJavaHyperlink)
276
+ val actual = RouteHyperlinkComputer .detectHyperlinks(project, file.document, new Region (file.caretOffset('~ ' ), 0 ), createJavaHyperlink)
207
277
208
278
actual match {
209
279
case None =>
0 commit comments