customRules.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. require_once dirname( dirname( __FILE__ ) ) . '/canonical.php';
  3. /**
  4. * @group canonical
  5. * @group rewrite
  6. * @group query
  7. */
  8. class Tests_Canonical_CustomRules extends Tests_Canonical {
  9. function setUp() {
  10. parent::setUp();
  11. global $wp_rewrite;
  12. // Add a custom Rewrite rule to test category redirections.
  13. $wp_rewrite->add_rule('ccr/(.+?)/sort/(asc|desc)', 'index.php?category_name=$matches[1]&order=$matches[2]', 'top'); // ccr = Custom_Cat_Rule
  14. $wp_rewrite->flush_rules();
  15. }
  16. function data() {
  17. /* Format:
  18. * [0]: $test_url,
  19. * [1]: expected results: Any of the following can be used
  20. * array( 'url': expected redirection location, 'qv': expected query vars to be set via the rewrite AND $_GET );
  21. * array( expected query vars to be set, same as 'qv' above )
  22. * (string) expected redirect location
  23. * [3]: (optional) The ticket the test refers to, Can be skipped if unknown.
  24. */
  25. return array(
  26. // Custom Rewrite rules leading to Categories
  27. array( '/ccr/uncategorized/sort/asc/', array( 'url' => '/ccr/uncategorized/sort/asc/', 'qv' => array( 'category_name' => 'uncategorized', 'order' => 'asc' ) ) ),
  28. array( '/ccr/uncategorized/sort/desc/', array( 'url' => '/ccr/uncategorized/sort/desc/', 'qv' => array( 'category_name' => 'uncategorized', 'order' => 'desc' ) ) ),
  29. array( '/ccr/uncategorized/sort/desc/?year=2008', array( 'url' => '/ccr/uncategorized/sort/desc/?year=2008', 'qv' => array( 'category_name' => 'uncategorized', 'order' => 'desc', 'year' => '2008' ) ), 17661 ),
  30. );
  31. }
  32. }