blob: eb9e69f7facfee0fe2bee1d03c487c7e3de44e7a (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
package twist
import utest._
import twist.stages._
import scalatags.Text.all._
/**
* Created by haoyi on 7/14/14.
*/
object AdvancedTests extends TestSuite{
import TestUtil._
val tests = TestSuite{
'localDef{
check(
tw("""
@lol(n: Int) = @{
"omg" * n
}
@lol(2)
"""),
"omgomg"
)
}
'innerTemplate{
check(
tw("""
@lol(f: Int) =
omg @f
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
tw("""
@lol(f: Int) ={
omg @f
}
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
tw("""
@lol(f: Int) = {
omg @f
}
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
"""
omg1omg2omg4
"""
)
}
'innerInnerTemplate{
check(
tw("""
@lol(f: Int) =
@wtf(g: Int) =
wtf @g
@wtf(1 + 2 + 3)
@wtf(f)
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
tw("""
@lol(f: Int) = {
@wtf(g: Int) = {
wtf @g
}
@wtf(1 + 2 + 3)
@wtf(f)
}
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
tw("""
@lol(f: Int) = {
@wtf(g: Int) =
wtf @g
@wtf(1 + 2 + 3)
@wtf(f)
}
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
tw("""
@lol(f: Int) =
@wtf(g: Int) = {
wtf @g
}
@wtf(1 + 2 + 3)
@wtf(f)
@lol(1)
@lol(2: Int)
@lol(3 + 1)
"""),
"""
wtf6
wtf1
wtf6
wtf2
wtf6
wtf4
"""
)
}
}
}
|