| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Various tablesort tests.
 
-  */
 
- /**
 
-  * Test unicode handling features implemented in unicode.inc.
 
-  */
 
- class TableSortTest extends DrupalUnitTestCase {
 
-   /**
 
-    * Storage for initial value of $_GET.
 
-    *
 
-    * @var array
 
-    */
 
-   protected $GET = array();
 
-   public static function getInfo() {
 
-     return array(
 
-       'name' => 'Tablesort',
 
-       'description' => 'Tests table sorting.',
 
-       'group' => 'System',
 
-     );
 
-   }
 
-   function setUp() {
 
-     // Save the original $_GET to be restored later.
 
-     $this->GET = $_GET;
 
-     parent::setUp();
 
-   }
 
-   function tearDown() {
 
-     // Revert $_GET.
 
-     $_GET = $this->GET;
 
-     parent::tearDown();
 
-   }
 
-   /**
 
-    * Test tablesort_init().
 
-    */
 
-   function testTableSortInit() {
 
-     // Test simple table headers.
 
-     $headers = array('foo', 'bar', 'baz');
 
-     // Reset $_GET to prevent parameters from Simpletest and Batch API ending
 
-     // up in $ts['query'].
 
-     $_GET = array('q' => 'jahwohl');
 
-     $expected_ts = array(
 
-       'name' => 'foo',
 
-       'sql' => '',
 
-       'sort' => 'asc',
 
-       'query' => array(),
 
-     );
 
-     $ts = tablesort_init($headers);
 
-     $this->verbose(strtr('$ts: <pre>!ts</pre>', array('!ts' => check_plain(var_export($ts, TRUE)))));
 
-     $this->assertEqual($ts, $expected_ts, 'Simple table headers sorted correctly.');
 
-     // Test with simple table headers plus $_GET parameters that should _not_
 
-     // override the default.
 
-     $_GET = array(
 
-       'q' => 'jahwohl',
 
-       // This should not override the table order because only complex
 
-       // headers are overridable.
 
-       'order' => 'bar',
 
-     );
 
-     $ts = tablesort_init($headers);
 
-     $this->verbose(strtr('$ts: <pre>!ts</pre>', array('!ts' => check_plain(var_export($ts, TRUE)))));
 
-     $this->assertEqual($ts, $expected_ts, 'Simple table headers plus non-overriding $_GET parameters sorted correctly.');
 
-     // Test with simple table headers plus $_GET parameters that _should_
 
-     // override the default.
 
-     $_GET = array(
 
-       'q' => 'jahwohl',
 
-       'sort' => 'DESC',
 
-       // Add an unrelated parameter to ensure that tablesort will include
 
-       // it in the links that it creates.
 
-       'alpha' => 'beta',
 
-     );
 
-     $expected_ts['sort'] = 'desc';
 
-     $expected_ts['query'] = array('alpha' => 'beta');
 
-     $ts = tablesort_init($headers);
 
-     $this->verbose(strtr('$ts: <pre>!ts</pre>', array('!ts' => check_plain(var_export($ts, TRUE)))));
 
-     $this->assertEqual($ts, $expected_ts, 'Simple table headers plus $_GET parameters sorted correctly.');
 
-     // Test complex table headers.
 
-     $headers = array(
 
-       'foo',
 
-       array(
 
-         'data' => '1',
 
-         'field' => 'one',
 
-         'sort' => 'asc',
 
-         'colspan' => 1,
 
-       ),
 
-       array(
 
-         'data' => '2',
 
-         'field' => 'two',
 
-         'sort' => 'desc',
 
-       ),
 
-     );
 
-     // Reset $_GET from previous assertion.
 
-     $_GET = array(
 
-       'q' => 'jahwohl',
 
-       'order' => '2',
 
-     );
 
-     $ts = tablesort_init($headers);
 
-     $expected_ts = array(
 
-       'name' => '2',
 
-       'sql' => 'two',
 
-       'sort' => 'desc',
 
-       'query' => array(),
 
-     );
 
-     $this->verbose(strtr('$ts: <pre>!ts</pre>', array('!ts' => check_plain(var_export($ts, TRUE)))));
 
-     $this->assertEqual($ts, $expected_ts, 'Complex table headers sorted correctly.');
 
-     // Test complex table headers plus $_GET parameters that should _not_
 
-     // override the default.
 
-     $_GET = array(
 
-       'q' => 'jahwohl',
 
-       // This should not override the table order because this header does not
 
-       // exist.
 
-       'order' => 'bar',
 
-     );
 
-     $ts = tablesort_init($headers);
 
-     $expected_ts = array(
 
-       'name' => '1',
 
-       'sql' => 'one',
 
-       'sort' => 'asc',
 
-       'query' => array(),
 
-     );
 
-     $this->verbose(strtr('$ts: <pre>!ts</pre>', array('!ts' => check_plain(var_export($ts, TRUE)))));
 
-     $this->assertEqual($ts, $expected_ts, 'Complex table headers plus non-overriding $_GET parameters sorted correctly.');
 
-     unset($_GET['sort'], $_GET['order'], $_GET['alpha']);
 
-     // Test complex table headers plus $_GET parameters that _should_
 
-     // override the default.
 
-     $_GET = array(
 
-       'q' => 'jahwohl',
 
-       'order' => '1',
 
-       'sort' => 'ASC',
 
-       // Add an unrelated parameter to ensure that tablesort will include
 
-       // it in the links that it creates.
 
-       'alpha' => 'beta',
 
-     );
 
-     $expected_ts = array(
 
-       'name' => '1',
 
-       'sql' => 'one',
 
-       'sort' => 'asc',
 
-       'query' => array('alpha' => 'beta'),
 
-     );
 
-     $ts = tablesort_init($headers);
 
-     $this->verbose(strtr('$ts: <pre>!ts</pre>', array('!ts' => check_plain(var_export($ts, TRUE)))));
 
-     $this->assertEqual($ts, $expected_ts, 'Complex table headers plus $_GET parameters sorted correctly.');
 
-     unset($_GET['sort'], $_GET['order'], $_GET['alpha']);
 
-   }
 
- }
 
 
  |