@@ -904,15 +904,12 @@ mod tests {
904
904
#[ test]
905
905
fn test_parse_operation_selectionset ( ) {
906
906
// operation with selection set
907
- let result = Operation :: new ( OperationType :: Query ,
908
- Some ( String :: from ( "likeStory" ) ) ,
909
- Vec :: new ( ) ,
910
- Vec :: new ( ) ,
911
- vec ! [ Selection :: Field ( Field :: new( None ,
912
- String :: from( "id" ) ,
913
- Vec :: new( ) ,
914
- Vec :: new( ) ,
915
- Vec :: new( ) ) ) ] ) ;
907
+ let result =
908
+ Operation :: new ( OperationType :: Query ,
909
+ Some ( String :: from ( "likeStory" ) ) ,
910
+ Vec :: new ( ) ,
911
+ Vec :: new ( ) ,
912
+ vec ! [ Selection :: Field ( Field :: new( None , String :: from( "id" ) , Vec :: new( ) , Vec :: new( ) , Vec :: new( ) ) ) ] ) ;
916
913
assert_successful_parse ! ( OperationDefinition , "query likeStory { id }" , result) ;
917
914
}
918
915
@@ -923,17 +920,15 @@ mod tests {
923
920
#[ test]
924
921
fn test_parse_selectionset_fields ( ) {
925
922
// selection set with fields only
926
- let result =
927
- vec ! [ Selection :: Field ( Field :: new( None , String :: from( "id" ) , Vec :: new( ) , Vec :: new( ) , Vec :: new( ) ) ) ] ;
923
+ let result = vec ! [ Selection :: Field ( Field :: new( None , String :: from( "id" ) , Vec :: new( ) , Vec :: new( ) , Vec :: new( ) ) ) ] ;
928
924
929
925
assert_successful_parse ! ( SelectionSet , "{ id }" , result) ;
930
926
}
931
927
932
928
#[ test]
933
929
fn test_parse_selectionset_fragmentspread ( ) {
934
930
// selection set with fragment only
935
- let result = vec ! [ Selection :: FragmentSpread ( FragmentSpread :: new( String :: from( "friendsFragment" ) ,
936
- Vec :: new( ) ) ) ] ;
931
+ let result = vec ! [ Selection :: FragmentSpread ( FragmentSpread :: new( String :: from( "friendsFragment" ) , Vec :: new( ) ) ) ] ;
937
932
938
933
assert_successful_parse ! ( SelectionSet , "{ ...friendsFragment }" , result) ;
939
934
}
@@ -1003,15 +998,12 @@ mod tests {
1003
998
#[ test]
1004
999
fn test_parse_field_selectionset ( ) {
1005
1000
// field with a sub selection set
1006
- let result = Field :: new ( None ,
1007
- String :: from ( "me" ) ,
1008
- Vec :: new ( ) ,
1009
- Vec :: new ( ) ,
1010
- vec ! [ Selection :: Field ( Field :: new( None ,
1011
- String :: from( "id" ) ,
1012
- Vec :: new( ) ,
1013
- Vec :: new( ) ,
1014
- Vec :: new( ) ) ) ] ) ;
1001
+ let result =
1002
+ Field :: new ( None ,
1003
+ String :: from ( "me" ) ,
1004
+ Vec :: new ( ) ,
1005
+ Vec :: new ( ) ,
1006
+ vec ! [ Selection :: Field ( Field :: new( None , String :: from( "id" ) , Vec :: new( ) , Vec :: new( ) , Vec :: new( ) ) ) ] ) ;
1015
1007
1016
1008
assert_successful_parse ! ( FieldParser , "me { id }" , result) ;
1017
1009
}
@@ -1020,6 +1012,14 @@ mod tests {
1020
1012
// 2.6 Arguments Tests
1021
1013
// ===========================================================================
1022
1014
1015
+ #[ test]
1016
+ fn test_parse_arguments ( ) {
1017
+ assert_successful_parse ! ( Arguments ,
1018
+ "(x:1 y:2)" ,
1019
+ vec![ Argument :: new( String :: from( "x" ) , Value :: Int ( 1 ) ) ,
1020
+ Argument :: new( String :: from( "y" ) , Value :: Int ( 2 ) ) ] ) ;
1021
+ }
1022
+
1023
1023
#[ test]
1024
1024
fn test_parse_argument ( ) {
1025
1025
assert_successful_parse ! ( ArgumentParser ,
@@ -1042,6 +1042,85 @@ mod tests {
1042
1042
// 2.8 Fragments Tests
1043
1043
// ===========================================================================
1044
1044
1045
+ #[ test]
1046
+ fn test_parse_fragmentspread ( ) {
1047
+ assert_successful_parse ! ( FragmentSpreadParser ,
1048
+ "...friendsFragment" ,
1049
+ FragmentSpread :: new( String :: from( "friendsFragment" ) , Vec :: new( ) ) ) ;
1050
+ }
1051
+
1052
+ #[ test]
1053
+ fn test_parse_fragmentspread_directives ( ) {
1054
+ assert_successful_parse ! ( FragmentSpreadParser ,
1055
+ "...friendsFragment @test" ,
1056
+ FragmentSpread :: new( String :: from( "friendsFragment" ) ,
1057
+ vec![ Directive :: new( String :: from( "test" ) , Vec :: new( ) ) ] ) ) ;
1058
+ }
1059
+
1060
+ #[ test]
1061
+ fn test_parse_fragmentdefinition ( ) {
1062
+ assert_successful_parse ! ( FragmentDefinition ,
1063
+ "fragment friendsFragment on User { }" ,
1064
+ Fragment :: new( String :: from( "friendsFragment" ) ,
1065
+ Type :: Named ( String :: from( "User" ) ) ,
1066
+ Vec :: new( ) ,
1067
+ Vec :: new( ) ) ) ;
1068
+ }
1069
+
1070
+ #[ test]
1071
+ fn test_parse_fragmentdefinition_directives ( ) {
1072
+ assert_successful_parse ! ( FragmentDefinition ,
1073
+ "fragment friendsFragment on User @test { }" ,
1074
+ Fragment :: new( String :: from( "friendsFragment" ) ,
1075
+ Type :: Named ( String :: from( "User" ) ) ,
1076
+ vec![ Directive :: new( String :: from( "test" ) , Vec :: new( ) ) ] ,
1077
+ Vec :: new( ) ) ) ;
1078
+ }
1079
+
1080
+ #[ test]
1081
+ fn test_parse_fragmentdefinition_selectionset ( ) {
1082
+ assert_successful_parse ! ( FragmentDefinition ,
1083
+ "fragment friendsFragment on User { friends }" ,
1084
+ Fragment :: new( String :: from( "friendsFragment" ) ,
1085
+ Type :: Named ( String :: from( "User" ) ) ,
1086
+ Vec :: new( ) ,
1087
+ vec![ Selection :: Field ( Field :: new( None ,
1088
+ String :: from( "friends" ) ,
1089
+ Vec :: new( ) ,
1090
+ Vec :: new( ) ,
1091
+ Vec :: new( ) ) ) ] ) ) ;
1092
+ }
1093
+
1094
+ #[ test]
1095
+ fn test_parse_typecondition ( ) {
1096
+ assert_successful_parse ! ( TypeCondition , "on User" , Type :: Named ( String :: from( "User" ) ) ) ;
1097
+ }
1098
+
1099
+ #[ test]
1100
+ fn test_parse_inlinefragment ( ) {
1101
+ assert_successful_parse ! ( InlineFragmentParser ,
1102
+ "... {}" ,
1103
+ InlineFragment :: new( None , Vec :: new( ) , Vec :: new( ) ) ) ;
1104
+ }
1105
+
1106
+ #[ test]
1107
+ fn test_parse_inlinefragment_typecondition ( ) {
1108
+ assert_successful_parse ! ( InlineFragmentParser ,
1109
+ "... on User {}" ,
1110
+ InlineFragment :: new( Some ( Type :: Named ( String :: from( "User" ) ) ) ,
1111
+ Vec :: new( ) ,
1112
+ Vec :: new( ) ) ) ;
1113
+ }
1114
+
1115
+ #[ test]
1116
+ fn test_parse_inlinefragment_directives ( ) {
1117
+ assert_successful_parse ! ( InlineFragmentParser ,
1118
+ "... @test {}" ,
1119
+ InlineFragment :: new( None ,
1120
+ vec![ Directive :: new( String :: from( "test" ) , Vec :: new( ) ) ] ,
1121
+ Vec :: new( ) ) ) ;
1122
+ }
1123
+
1045
1124
// ===========================================================================
1046
1125
// 2.9 Value Tests
1047
1126
// ===========================================================================
0 commit comments