function testSubQueryCreatesOrStatement() { $index = new Search_Index_Memory(); $query = new Search_Query(); $query->getSubQuery('abc')->filterContent('hello'); $query->getSubQuery('abc')->filterCategory('1 and 2'); $query->filterPermissions(array('Registered')); $query->search($index); $expr = new Search_Expr_And(array(new Search_Expr_Or(array(new Search_Expr_Token('hello', 'plaintext', 'contents'), new Search_Expr_And(array(new Search_Expr_Token('1', 'multivalue', 'categories'), new Search_Expr_Token('2', 'multivalue', 'categories'))))), new Search_Expr_Or(array(new Search_Expr_Token('Registered', 'multivalue', 'allowed_groups'))))); $this->assertEquals($expr, $index->getLastQuery()); $this->assertEquals(array('hello'), $query->getTerms()); }