@@ -9,45 +9,45 @@ import org.junit.Test
9
9
*/
10
10
class RequestTokenizationTest {
11
11
12
- fun testTokenization (input : String , expected : List <String >) {
12
+ private fun testTokenization (input : String , expected : List <String >) {
13
13
val tokens = tokenizeRequest(input)
14
14
assertThat(tokens, equalTo(expected))
15
15
}
16
16
17
17
@Test
18
18
fun `tokenize mutation with args` (){
19
19
testTokenization(
20
- input = " {createHero(name: \" Batman\" , appearsIn: \" The Dark Knight\" )}" ,
21
- expected = listOf (" {" , " createHero" , " (" , " name" , " :" , " \" Batman\" " , " appearsIn" , " :" , " \" The Dark Knight\" " , " )" , " }" )
20
+ input = " {createHero(name: \" Batman\" , appearsIn: \" The Dark Knight\" )}" ,
21
+ expected = listOf (" {" , " createHero" , " (" , " name" , " :" , " \" Batman\" " , " appearsIn" , " :" , " \" The Dark Knight\" " , " )" , " }" )
22
22
)
23
23
}
24
24
25
25
@Test
26
26
fun `tokenize simple query` (){
27
27
testTokenization(
28
- input = " {batman: hero(name: \" Batman\" ){ skills : powers }}" ,
29
- expected = listOf (" {" , " batman" , " :" , " hero" , " (" , " name" , " :" , " \" Batman\" " , " )" , " {" , " skills" , " :" , " powers" , " }" , " }" )
28
+ input = " {batman: hero(name: \" Batman\" ){ skills : powers }}" ,
29
+ expected = listOf (" {" , " batman" , " :" , " hero" , " (" , " name" , " :" , " \" Batman\" " , " )" , " {" , " skills" , " :" , " powers" , " }" , " }" )
30
30
)
31
31
}
32
32
33
33
@Test
34
34
fun `tokenize query with nested selection set` (){
35
35
testTokenization(
36
- input = " {hero{name appearsIn{title{abbr full} year}}\n villain{name deeds}}" ,
37
- expected = listOf (
38
- " {" , " hero" , " {" , " name" , " appearsIn" , " {" , " title" , " {" , " abbr" , " full" , " }" , " year" , " }" , " }" ,
39
- " villain" , " {" , " name" , " deeds" , " }" , " }"
40
- )
36
+ input = " {hero{name appearsIn{title{abbr full} year}}\n villain{name deeds}}" ,
37
+ expected = listOf (
38
+ " {" , " hero" , " {" , " name" , " appearsIn" , " {" , " title" , " {" , " abbr" , " full" , " }" , " year" , " }" , " }" ,
39
+ " villain" , " {" , " name" , " deeds" , " }" , " }"
40
+ )
41
41
)
42
42
}
43
43
44
44
@Test
45
45
fun `Tokenize list argument` (){
46
46
testTokenization(
47
- input = " {List(value : [23, 3, 23])}" ,
48
- expected = listOf (
49
- " {" , " List" ," (" , " value" , " :" , " [" , " 23" , " 3" , " 23" , " ]" , " )" ," }"
50
- )
47
+ input = " {List(value : [23, 3, 23])}" ,
48
+ expected = listOf (
49
+ " {" , " List" ," (" , " value" , " :" , " [" , " 23" , " 3" , " 23" , " ]" , " )" ," }"
50
+ )
51
51
)
52
52
}
53
53
@@ -91,8 +91,16 @@ class RequestTokenizationTest {
91
91
@Test
92
92
fun `tokenize input with quotes` (){
93
93
testTokenization(
94
- input = " {hello(name : \" Ted\\\" Mosby\" )}" ,
95
- expected = listOf (" {" , " hello" , " (" , " name" , " :" , " \" Ted\\\" Mosby\" " , " )" , " }" )
94
+ input = " {hello(name : \" Ted\\\" Mosby\" )}" ,
95
+ expected = listOf (" {" , " hello" , " (" , " name" , " :" , " \" Ted\\\" Mosby\" " , " )" , " }" )
96
+ )
97
+ }
98
+
99
+ @Test
100
+ fun `tokenize input with new lines` () {
101
+ testTokenization(
102
+ input = " {lists{\r\n totalCount\r\n nodes{\r\n title\r\n }\r\n }\r\n }" ,
103
+ expected = listOf (" {" , " lists" , " {" , " totalCount" , " nodes" , " {" , " title" , " }" , " }" , " }" )
96
104
)
97
105
}
98
- }
106
+ }
0 commit comments