blob: c2db0f434169cb1e123e4f146838e3253cb29abe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package test.cask
import cask.model.ParamContext
import utest._
object FailureTests extends TestSuite {
class myDecorator extends cask.Routes.Decorator {
def getRawParams(ctx: ParamContext) = Map("extra" -> 31337)
}
val tests = Tests{
'mismatchedDecorators - {
utest.compileError("""
object Decorated extends cask.MainRoutes{
@cask.get("/hello/:world")
def hello(world: String)(extra: Int) = world + extra
initialize()
}
""").msg ==>
"Endpoint hello's number of parameter lists (2) doesn't match number of decorators (1)"
utest.compileError("""
object Decorated extends cask.MainRoutes{
@myDecorator()
@cask.get("/hello/:world")
def hello(world: String)= world
initialize()
}
""").msg ==>
"Endpoint hello's number of parameter lists (1) doesn't match number of decorators (2)"
utest.compileError("""
object Decorated extends cask.MainRoutes{
@cask.get("/hello/:world")
@myDecorator()
def hello(world: String)(extra: Int)= world
initialize()
}
""").msg ==>
"Last annotation applied to a function must be an instance of Endpoint, not test.cask.FailureTests.myDecorator"
utest.compileError("""
object Decorated extends cask.MainRoutes{
@cask.get("/hello/:world")
@cask.get("/hello/:world")
def hello(world: String)(extra: Int)= world
initialize()
}
""").msg ==>
"You can only apply one Endpoint annotation to a function, not 2 in cask.endpoints.get, cask.endpoints.get"
}
}
}
|