/**
  * Add sort option, and set according to sort request param.
  * @param ListSorter_Option $option
  */
 public function addSortOption(ListSorter_Option $option)
 {
     $this->sortoptions[(string) $option] = $option;
     $requestparam = $this->request->getVar('sort');
     if ((string) $option === $requestparam) {
         $this->current = $option;
     }
     if ((string) $option->getReverseOption() === $requestparam) {
         $this->current = $option->getReverseOption();
     }
 }
 function testListSorterOption()
 {
     $option = new ListSorter_Option("Age Title", "Age DESC, Title ASC", new ListSorter_Option("Age Title", array("Age" => "ASC", "Title" => "DESC")));
     $this->assertEquals("Age Title", $option->Title);
     $this->assertEquals("age title", $option->ID);
     $this->assertEquals("age title", (string) $option);
     $this->assertTrue($option->isReversable());
     $this->assertEquals("dev?sort=age+title", $option->getLink());
     $reverse = $option->getReverseOption();
     $this->assertEquals("Age Title", $reverse->Title);
     $this->assertEquals("age title_rev", $reverse->ID);
     $this->assertEquals("age title_rev", (string) $reverse);
     $this->assertTrue($reverse->isReversable());
     $this->assertEquals("dev?sort=age+title_rev", $reverse->getLink());
 }