Projet

Général

Profil

Paste
Télécharger (4,41 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / views / tests / views_argument_validator.test @ 7547bb19

1
<?php
2

    
3
/**
4
 * @file
5
 * Definition of ViewsArgumentValidatorTest.
6
 */
7

    
8
/**
9
 * Tests Views argument validators.
10
 */
11
class ViewsArgumentValidatorTest extends ViewsSqlTest {
12
  public static function getInfo() {
13
    return array(
14
      'name' => 'Argument validator',
15
      'group' => 'Views Plugins',
16
      'description' => 'Test argument validator tests.',
17
    );
18
  }
19

    
20
  function testArgumentValidatePhp() {
21
    $string = $this->randomName();
22
    $view = $this->view_test_argument_validate_php($string);
23
    $view->set_display('default');
24
    $view->pre_execute();
25
    $view->init_handlers();
26
    $this->assertTrue($view->argument['null']->validate_arg($string));
27
    // Reset safed argument validation.
28
    $view->argument['null']->argument_validated = NULL;
29
    $this->assertFalse($view->argument['null']->validate_arg($this->randomName()));
30
  }
31

    
32
  function testArgumentValidateNumeric() {
33
    $view = $this->view_argument_validate_numeric();
34
    $view->set_display('default');
35
    $view->pre_execute();
36
    $view->init_handlers();
37
    $this->assertFalse($view->argument['null']->validate_arg($this->randomString()));
38
    // Reset safed argument validation.
39
    $view->argument['null']->argument_validated = NULL;
40
    $this->assertTrue($view->argument['null']->validate_arg(12));
41
  }
42

    
43
  function view_test_argument_validate_php($string) {
44
    $code = 'return $argument == \''. $string .'\';';
45
    $view = new view;
46
    $view->name = 'view_argument_validate_numeric';
47
    $view->description = '';
48
    $view->tag = '';
49
    $view->view_php = '';
50
    $view->base_table = 'node';
51
    $view->is_cacheable = FALSE;
52
    $view->api_version = 2;
53
    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
54

    
55
    /* Display: Master */
56
    $handler = $view->new_display('default', 'Master', 'default');
57
    $handler->display->display_options['access']['type'] = 'none';
58
    $handler->display->display_options['cache']['type'] = 'none';
59
    $handler->display->display_options['exposed_form']['type'] = 'basic';
60
    $handler->display->display_options['pager']['type'] = 'full';
61
    $handler->display->display_options['style_plugin'] = 'default';
62
    $handler->display->display_options['row_plugin'] = 'fields';
63
    /* Argument: Global: Null */
64
    $handler->display->display_options['arguments']['null']['id'] = 'null';
65
    $handler->display->display_options['arguments']['null']['table'] = 'views';
66
    $handler->display->display_options['arguments']['null']['field'] = 'null';
67
    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
68
    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
69
    $handler->display->display_options['arguments']['null']['validate_type'] = 'php';
70
    $handler->display->display_options['arguments']['null']['validate_options']['code'] = $code;
71
    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
72

    
73
    return $view;
74
  }
75

    
76
  function view_argument_validate_numeric() {
77
    $view = new view;
78
    $view->name = 'view_argument_validate_numeric';
79
    $view->description = '';
80
    $view->tag = '';
81
    $view->view_php = '';
82
    $view->base_table = 'node';
83
    $view->is_cacheable = FALSE;
84
    $view->api_version = 2;
85
    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
86

    
87
    /* Display: Master */
88
    $handler = $view->new_display('default', 'Master', 'default');
89
    $handler->display->display_options['access']['type'] = 'none';
90
    $handler->display->display_options['cache']['type'] = 'none';
91
    $handler->display->display_options['exposed_form']['type'] = 'basic';
92
    $handler->display->display_options['pager']['type'] = 'full';
93
    $handler->display->display_options['style_plugin'] = 'default';
94
    $handler->display->display_options['row_plugin'] = 'fields';
95
    /* Argument: Global: Null */
96
    $handler->display->display_options['arguments']['null']['id'] = 'null';
97
    $handler->display->display_options['arguments']['null']['table'] = 'views';
98
    $handler->display->display_options['arguments']['null']['field'] = 'null';
99
    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
100
    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
101
    $handler->display->display_options['arguments']['null']['validate_type'] = 'numeric';
102
    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
103

    
104
    return $view;
105
  }
106
}