You are here

function PathRedirectUnitTest::testRedirectQuerySorting in Path redirect 6

Test the _path_redirect_uasort() callback used in path_redirect_load_by_source().

File

./path_redirect.test, line 121
Tests for the path_redirect module.

Class

PathRedirectUnitTest

Code

function testRedirectQuerySorting() {
  $redirect1 = array(
    'source' => 'test',
    'redirect' => 'node',
  );
  $redirect2 = array(
    'source' => 'test',
    'source_query' => array(
      'foo' => 'bar',
    ),
    'redirect' => 'node',
    'query' => array(
      'foo' => 'bar',
    ),
  );
  $redirect3 = array(
    'source' => 'test',
    'source_query' => array(
      'foo' => 'ferzle',
    ),
    'redirect' => 'node',
    'query' => array(
      'foo' => 'ferzle',
    ),
  );
  $this
    ->addRedirect('test', 'node', $redirect2);
  $this
    ->assertNoRedirect($redirect1);
  $this
    ->assertRedirect($redirect2);
  $this
    ->assertNoRedirect($redirect3);
  $this
    ->addRedirect('test', 'node');
  $this
    ->assertRedirect($redirect1);
  $this
    ->assertRedirect($redirect2);
  $this
    ->assertRedirect(array(
    'query' => array(),
  ) + $redirect3);
  $this
    ->addRedirect('test', 'node', $redirect3);
  $this
    ->assertRedirect($redirect1);
  $this
    ->assertRedirect($redirect2);
  $this
    ->assertRedirect($redirect3);
}