| 82 | */ |
| 83 | |
| 84 | void check_example_3(const char *source) { |
| 85 | struct list_head *tokens; |
| 86 | struct graphql_token *tok; |
| 87 | |
| 88 | if (!mute) printf("// Example No. 3\n"); |
| 89 | |
| 90 | // Test the lexer. |
| 91 | TEST_CONT(graphql_lex(NULL, source, &tokens) == NULL); |
| 92 | TEST_ABRT(listlen(tokens) == 11); |
| 93 | tok = list_pop(tokens, struct graphql_token, node); |
| 94 | TEST_CONT(tok->token_type == '{'); |
| 95 | TEST_CONT(tok->source_line == 1); |
| 96 | TEST_CONT(tok->source_column == 1); |
| 97 | TEST_CONT(tok->source_len == 1); |
| 98 | tok = list_pop(tokens, struct graphql_token, node); |
| 99 | TEST_CONT(tok->token_type == 'a'); |
| 100 | TEST_STRG(tok->token_string, "user"); |
| 101 | TEST_CONT(tok->source_line == 2); |
| 102 | TEST_CONT(tok->source_column == 3); |
| 103 | TEST_CONT(tok->source_len == 4); |
| 104 | tok = list_pop(tokens, struct graphql_token, node); |
| 105 | TEST_CONT(tok->token_type == '('); |
| 106 | TEST_CONT(tok->source_line == 2); |
| 107 | TEST_CONT(tok->source_column == 7); |
| 108 | TEST_CONT(tok->source_len == 1); |
| 109 | tok = list_pop(tokens, struct graphql_token, node); |
| 110 | TEST_CONT(tok->token_type == 'a'); |
| 111 | TEST_STRG(tok->token_string, "id"); |
| 112 | TEST_CONT(tok->source_line == 2); |
| 113 | TEST_CONT(tok->source_column == 8); |
| 114 | TEST_CONT(tok->source_len == 2); |
| 115 | tok = list_pop(tokens, struct graphql_token, node); |
| 116 | TEST_CONT(tok->token_type == ':'); |
| 117 | TEST_CONT(tok->source_line == 2); |
| 118 | TEST_CONT(tok->source_column == 10); |
| 119 | TEST_CONT(tok->source_len == 1); |
| 120 | tok = list_pop(tokens, struct graphql_token, node); |
| 121 | TEST_CONT(tok->token_type == 'i'); |
| 122 | TEST_STRG(tok->token_string, "4"); |
| 123 | TEST_CONT(tok->source_line == 2); |
| 124 | TEST_CONT(tok->source_column == 12); |
| 125 | TEST_CONT(tok->source_len == 1); |
| 126 | tok = list_pop(tokens, struct graphql_token, node); |
| 127 | TEST_CONT(tok->token_type == ')'); |
| 128 | TEST_CONT(tok->source_line == 2); |
| 129 | TEST_CONT(tok->source_column == 13); |
| 130 | TEST_CONT(tok->source_len == 1); |
| 131 | tok = list_pop(tokens, struct graphql_token, node); |
| 132 | TEST_CONT(tok->token_type == '{'); |
| 133 | TEST_CONT(tok->source_line == 2); |
| 134 | TEST_CONT(tok->source_column == 15); |
| 135 | TEST_CONT(tok->source_len == 1); |
| 136 | tok = list_pop(tokens, struct graphql_token, node); |
| 137 | TEST_CONT(tok->token_type == 'a'); |
| 138 | TEST_STRG(tok->token_string, "name"); |
| 139 | TEST_CONT(tok->source_line == 3); |
| 140 | TEST_CONT(tok->source_column == 5); |
| 141 | TEST_CONT(tok->source_len == 4); |
nothing calls this directly
no test coverage detected