Projet

Général

Profil

Paste
Télécharger (1,51 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / menu_token / menu_token.test @ 87dbc3bf

1
<?php
2

    
3
/**
4
 * @file
5
 * Menu Token tests.
6
 */
7

    
8

    
9
class MenuTokenTestCase extends DrupalWebTestCase {
10
  public $admin_user;
11

    
12
  public static function getInfo() {
13
    return array(
14
      'name' => 'Menu Token test',
15
      'description' => 'Create tokenized menu item.',
16
      'group' => 'Menu Token',
17
    );
18
  }
19

    
20
  /**
21
   * Enable modules and create users with specific permissions.
22
   */
23
  function setUp() {
24
    parent::setUp('token', 'menu_token');
25

    
26
    // Create user and login.
27
    $this->admin_user = $this->drupalCreateUser(array('administer menu'));
28
    $this->drupalLogin($this->admin_user);
29
  }
30

    
31
  /**
32
   * Create menu item and check it works properly.
33
   */
34
  function testCreateMenuItem() {
35
    // Add new menu item.
36
    $edit = array(
37
      'link_title' => '[current-user:name]',
38
      'link_path' => 'user/[current-user:uid]',
39
      'menu_token_enabled' => TRUE,
40
    );
41
    $this->drupalPost('admin/structure/menu/manage/user-menu/add', $edit, t('Save'));
42

    
43
    // Go to front page and assert menu item exists.
44
    $this->drupalGet('');
45
    $admin_user = $this->admin_user;
46
    $this->assertLink($admin_user->name, 0, t('Tokenized menu item found by title.'), 'Menu token');
47
    $this->assertLinkByHref('user/' . $admin_user->uid, 0, t('Tokenized menu item found by href.'), 'Menu token');
48

    
49
    // Logout and assert that our menu item is not shown to anonymous user.
50
    $this->drupalLogout();
51
    $this->drupalGet('');
52
    $this->assertNoLinkByHref('user/0', t('Tokenized link user/[uid] not shown to anonymous user.'), 'Menu token');
53
  }
54
}