コード例 #1
0
 function test_limit_new_query_impl()
 {
     $list1 = new QueryList(3);
     // history limited to 3
     // setup 11 queries
     $q1 = $this->new_query_shortform(array('q' => 'foo'));
     $q2 = $this->new_query_shortform(array('q' => 'bar'));
     $q3 = $this->new_query_shortform(array('q' => 'baz'));
     $q4 = $this->new_query_shortform(array('q' => 'abc'));
     $q5 = $this->new_query_shortform(array('q' => 'def'));
     $q6 = $this->new_query_shortform(array('q' => 'ghi'));
     $q7 = $this->new_query_shortform(array('q' => 'jkl'));
     $q8 = $this->new_query_shortform(array('q' => 'mno'));
     $q9 = $this->new_query_shortform(array('q' => 'pqr'));
     $q10 = $this->new_query_shortform(array('q' => 'stu'));
     $q11 = $this->new_query_shortform(array('q' => 'vwx'));
     // add 6 queries, confirm limit
     $list1->add($q1);
     $this->assertTrue(count($list1) == 1);
     $list1->add($q2);
     $this->assertTrue(count($list1) == 2);
     $list1->add($q3);
     $this->assertTrue(count($list1) == 3);
     $list1->add($q4);
     $this->assertTrue(count($list1) == 3);
     $list1->add($q5);
     $this->assertTrue(count($list1) == 3);
     $this->assertEqual($list1[2]['url'], $this->url_search . '?q=baz');
     // oldest query is now baz
     $list1->add($q6);
     $this->assertTrue(count($list1) == 3);
     $this->assertEqual($list1[2]['url'], $this->url_search . '?q=abc');
     // oldest query is now abc
     $list1 = new QueryList();
     // reset the query list, default limit is umlimited
     $list1->add($q1);
     $list1->add($q2);
     $list1->add($q3);
     $list1->add($q4);
     $list1->add($q5);
     $list1->add($q6);
     $list1->add($q7);
     $list1->add($q8);
     $list1->add($q9);
     $list1->add($q10);
     $list1->add($q11);
     $this->assertTrue(count($list1) == 11);
 }