views_handler_field_file_extension.test

Definition of ViewsHandlerFileExtensionTest.

File

tests/handlers/views_handler_field_file_extension.test
View source
  1. <?php
  2. /**
  3. * @file
  4. * Definition of ViewsHandlerFileExtensionTest.
  5. */
  6. /**
  7. * Tests the views_handler_field_file_extension handler.
  8. */
  9. class ViewsHandlerFileExtensionTest extends ViewsSqlTest {
  10. public static function getInfo() {
  11. return array(
  12. 'name' => 'Field: File extension',
  13. 'description' => 'Test the views_handler_field_file_extension handler.',
  14. 'group' => 'Views Handlers',
  15. );
  16. }
  17. function dataSet() {
  18. $data = parent::dataSet();
  19. $data[0]['name'] = 'file.png';
  20. $data[1]['name'] = 'file.tar';
  21. $data[2]['name'] = 'file.tar.gz';
  22. $data[3]['name'] = 'file';
  23. return $data;
  24. }
  25. function viewsData() {
  26. $data = parent::viewsData();
  27. $data['views_test']['name']['field']['handler'] = 'views_handler_field_file_extension';
  28. $data['views_test']['name']['real field'] = 'name';
  29. return $data;
  30. }
  31. /**
  32. * Tests the 'extension_detect_tar' handler option.
  33. */
  34. public function testFileExtensionTarOption() {
  35. $view = $this->getBasicView();
  36. $view->display['default']->handler->override_option('fields', array(
  37. 'name' => array(
  38. 'id' => 'name',
  39. 'table' => 'views_test',
  40. 'field' => 'name',
  41. ),
  42. ));
  43. $this->executeView($view);
  44. // Test without the tar option.
  45. $this->assertEqual($view->field['name']->advanced_render($view->result[0]), 'png');
  46. $this->assertEqual($view->field['name']->advanced_render($view->result[1]), 'tar');
  47. $this->assertEqual($view->field['name']->advanced_render($view->result[2]), 'gz');
  48. $this->assertEqual($view->field['name']->advanced_render($view->result[3]), '');
  49. // Test with the tar option.
  50. $view->field['name']->options['extension_detect_tar'] = TRUE;
  51. $this->assertEqual($view->field['name']->advanced_render($view->result[0]), 'png');
  52. $this->assertEqual($view->field['name']->advanced_render($view->result[1]), 'tar');
  53. $this->assertEqual($view->field['name']->advanced_render($view->result[2]), 'tar.gz');
  54. $this->assertEqual($view->field['name']->advanced_render($view->result[3]), '');
  55. }
  56. }