~ubuntu-branches/ubuntu/wily/phabricator/wily-proposed

« back to all changes in this revision

Viewing changes to phabricator/src/infrastructure/internationalization/scope/__tests__/PhabricatorLocaleScopeGuardTestCase.php

  • Committer: Package Import Robot
  • Author(s): Richard Sellam
  • Date: 2015-06-13 10:52:10 UTC
  • mfrom: (0.35.1) (0.34.1) (0.27.2) (9.1.2 wily)
  • Revision ID: package-import@ubuntu.com-20150613105210-jysis8natyi5l3np
Tags: 0~git20150613-1
* New snapshot release (closes: #787805)
* fixed typo in logrotate script (closes: #787645)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
final class PhabricatorLocaleScopeGuardTestCase
 
4
  extends PhabricatorTestCase {
 
5
 
 
6
  public function testLocaleScopeGuard() {
 
7
    $original = PhabricatorEnv::getLocaleCode();
 
8
 
 
9
    // Set a guard; it should change the locale, then revert it when destroyed.
 
10
    $guard = PhabricatorEnv::beginScopedLocale('en_GB');
 
11
    $this->assertEqual('en_GB', PhabricatorEnv::getLocaleCode());
 
12
    unset($guard);
 
13
    $this->assertEqual($original, PhabricatorEnv::getLocaleCode());
 
14
 
 
15
    // Nest guards, then destroy them out of order.
 
16
    $guard1 = PhabricatorEnv::beginScopedLocale('en_GB');
 
17
    $this->assertEqual('en_GB', PhabricatorEnv::getLocaleCode());
 
18
    $guard2 = PhabricatorEnv::beginScopedLocale('en_A*');
 
19
    $this->assertEqual('en_A*', PhabricatorEnv::getLocaleCode());
 
20
    unset($guard1);
 
21
    $this->assertEqual('en_A*', PhabricatorEnv::getLocaleCode());
 
22
    unset($guard2);
 
23
    $this->assertEqual($original, PhabricatorEnv::getLocaleCode());
 
24
 
 
25
    // If you push `null`, that should mean "the default locale", not
 
26
    // "the current locale".
 
27
    $guard3 = PhabricatorEnv::beginScopedLocale('en_GB');
 
28
    $this->assertEqual('en_GB', PhabricatorEnv::getLocaleCode());
 
29
    $guard4 = PhabricatorEnv::beginScopedLocale(null);
 
30
    $this->assertEqual($original, PhabricatorEnv::getLocaleCode());
 
31
    unset($guard4);
 
32
    $this->assertEqual('en_GB', PhabricatorEnv::getLocaleCode());
 
33
    unset($guard3);
 
34
    $this->assertEqual($original, PhabricatorEnv::getLocaleCode());
 
35
 
 
36
  }
 
37
 
 
38
}