function ViewsExposedFormTest::testRemember

Tests that exposed values are correctly stored.

File

tests/views_exposed_form.test, line 69

Class

ViewsExposedFormTest
Tests exposed forms.

Code

public function testRemember() {
    $account = $this->drupalCreateUser();
    $this->drupalLogin($account);
    // Create some random nodes.
    for ($i = 0; $i < 5; $i++) {
        $this->drupalCreateNode();
    }
    // Set the exposed filter.
    $this->drupalGet('test_exposed_remember', array(
        'query' => array(
            'type' => 'page',
        ),
    ));
    $this->assertFieldByName('type', 'page');
    // Request the page again, should still be set.
    $this->drupalGet('test_exposed_remember');
    $this->assertFieldByName('type', 'page');
    // Request the page with an unrelated GET argument, filter should still be
    // set.
    $this->drupalGet('test_exposed_remember', array(
        'query' => array(
            'argument' => 'value',
        ),
    ));
    $this->assertFieldByName('type', 'page');
    // Change the remembered exposed value.
    $this->drupalGet('test_exposed_remember', array(
        'query' => array(
            'type' => 'article',
        ),
    ));
    $this->assertFieldByName('type', 'article');
    // Request the page again, should have remembered the new value.
    $this->drupalGet('test_exposed_remember');
    $this->assertFieldByName('type', 'article');
}