static TestQueryParser* leaf_test_longer_phrase() { Query *tree = make_leaf_query(NULL, "\"a b c\""); Query *plain_q = make_phrase_query("plain", "a", "b", "c", NULL); Query *fancy_q = make_phrase_query("fancy", "a", "b", "c", NULL); Query *expanded = make_poly_query(BOOLOP_OR, fancy_q, plain_q, NULL); return TestQP_new("\"a b c\"", tree, expanded, 2); }
static TestQueryParser* leaf_test_escaped_quotes_inside() { Query *tree = make_leaf_query(NULL, "\"\\\"a b\\\"\""); Query *plain_q = make_phrase_query("plain", "\"a", "b\"", NULL); Query *fancy_q = make_phrase_query("fancy", "a", "b", NULL); Query *expanded = make_poly_query(BOOLOP_OR, fancy_q, plain_q, NULL); return TestQP_new("\"\\\"a b\\\"\"", tree, expanded, 3); }
static TestQueryParser* leaf_test_phrase_with_stopwords() { Query *tree = make_leaf_query(NULL, "\"x a\""); Query *plain_q = make_phrase_query("plain", "x", "a", NULL); Query *fancy_q = make_phrase_query("fancy", "a", NULL); Query *expanded = make_poly_query(BOOLOP_OR, fancy_q, plain_q, NULL); return TestQP_new("\"x a\"", tree, expanded, 4); }
static TestQueryParser* leaf_test_different_tokenization() { Query *tree = make_leaf_query(NULL, "a.b"); Query *plain_q = make_term_query("plain", "a.b"); Query *fancy_q = make_phrase_query("fancy", "a", "b", NULL); Query *expanded = make_poly_query(BOOLOP_OR, fancy_q, plain_q, NULL); return TestQP_new("a.b", tree, expanded, 3); }
static TestQueryParser* leaf_test_http() { char address[] = "http://www.foo.com/bar.html"; Query *tree = make_leaf_query(NULL, address); Query *plain_q = make_term_query("plain", address); Query *fancy_q = make_phrase_query("fancy", "http", "www", "foo", "com", "bar", "html", NULL); Query *expanded = make_poly_query(BOOLOP_OR, fancy_q, plain_q, NULL); return TestQP_new(address, tree, expanded, 0); }