function test_set_sort_clause() { $parser = new SQL_Parser(null, 'MySQL'); $compiler = new SQL_Compiler(); $sql = "SELECT a,b,c from Foo"; $parsed = $parser->parse($sql); $wrapper = new SQL_Parser_wrapper($parsed, 'MySQL'); $wrapper->setSortClause("c"); $this->assertEquals("select a, b, c from Foo order by c asc", $compiler->compile($parsed)); $wrapper->setSortClause("b"); $this->assertEquals("select a, b, c from Foo order by b asc", $compiler->compile($parsed)); $wrapper->setSortClause("b desc"); $this->assertEquals("select a, b, c from Foo order by b desc", $compiler->compile($parsed)); $wrapper->setSortClause("b desc, c"); $this->assertEquals("select a, b, c from Foo order by b desc, c asc", $compiler->compile($parsed)); $wrapper->addSortClause("d"); $this->assertEquals("select a, b, c from Foo order by b desc, c asc, d asc", $compiler->compile($parsed)); }