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); }