mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 14:46:19 +08:00 
			
		
		
		
	Try to fix tests on Travis
This commit is contained in:
		@ -1539,14 +1539,18 @@ class Formatter extends Component
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if ($this->_resourceBundle === null) {
 | 
			
		||||
            try {
 | 
			
		||||
                $this->_resourceBundle = new \ResourceBundle($this->locale, 'ICUDATA-unit');
 | 
			
		||||
            } catch (\IntlException $e) {
 | 
			
		||||
                throw new InvalidConfigException('Current ICU data does not contain information about measure units. Check system requirements.');
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        $unitNames = array_keys($this->measureUnits[$unitType][$system]);
 | 
			
		||||
        $bundleKey = 'units' . ($unitFormat === self::FORMAT_WIDTH_SHORT ? 'Short' : '');
 | 
			
		||||
 | 
			
		||||
        $unitBundle = $this->_resourceBundle[$bundleKey][$unitType][$unitNames[$position]];
 | 
			
		||||
        if ($unitBundle === null) {
 | 
			
		||||
            throw new InvalidConfigException('Current version of ICU data does not contain information about unit type "' . $unitType . '" and unit measure "' . $unitNames[$position] . '. Check system requirements.');
 | 
			
		||||
            throw new InvalidConfigException('Current ICU data version does not contain information about unit type "' . $unitType . '" and unit measure "' . $unitNames[$position] . '". Check system requirements.');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $message = [];
 | 
			
		||||
 | 
			
		||||
@ -58,7 +58,8 @@ class FormatterTest extends TestCase
 | 
			
		||||
        $this->assertSame(date('Y-m-d', $value), $this->formatter->format($value, function ($value) {
 | 
			
		||||
            return date('Y-m-d', $value);
 | 
			
		||||
        }));
 | 
			
		||||
        $this->assertSame('from: ' . date('Y-m-d', $value), $this->formatter->format($value, function ($value, $formatter) {
 | 
			
		||||
        $this->assertSame('from: ' . date('Y-m-d', $value),
 | 
			
		||||
            $this->formatter->format($value, function ($value, $formatter) {
 | 
			
		||||
                /** @var $formatter Formatter */
 | 
			
		||||
                return 'from: ' . $formatter->asDate($value, 'php:Y-m-d');
 | 
			
		||||
            }));
 | 
			
		||||
@ -158,7 +159,8 @@ class FormatterTest extends TestCase
 | 
			
		||||
        $value = 'test@sample.com';
 | 
			
		||||
        $this->assertSame("<a href=\"mailto:$value\">$value</a>", $this->formatter->asEmail($value));
 | 
			
		||||
        $value = 'test@sample.com';
 | 
			
		||||
        $this->assertSame("<a href=\"mailto:$value\" target=\"_blank\">$value</a>", $this->formatter->asEmail($value, ['target' => '_blank']));
 | 
			
		||||
        $this->assertSame("<a href=\"mailto:$value\" target=\"_blank\">$value</a>",
 | 
			
		||||
            $this->formatter->asEmail($value, ['target' => '_blank']));
 | 
			
		||||
 | 
			
		||||
        // null display
 | 
			
		||||
        $this->assertSame($this->formatter->nullDisplay, $this->formatter->asEmail(null));
 | 
			
		||||
@ -173,9 +175,11 @@ class FormatterTest extends TestCase
 | 
			
		||||
        $value = 'www.yiiframework.com/';
 | 
			
		||||
        $this->assertSame("<a href=\"http://$value\">$value</a>", $this->formatter->asUrl($value));
 | 
			
		||||
        $value = 'https://www.yiiframework.com/?name=test&value=5"';
 | 
			
		||||
        $this->assertSame('<a href="https://www.yiiframework.com/?name=test&value=5"">https://www.yiiframework.com/?name=test&value=5"</a>', $this->formatter->asUrl($value));
 | 
			
		||||
        $this->assertSame('<a href="https://www.yiiframework.com/?name=test&value=5"">https://www.yiiframework.com/?name=test&value=5"</a>',
 | 
			
		||||
            $this->formatter->asUrl($value));
 | 
			
		||||
        $value = 'http://www.yiiframework.com/';
 | 
			
		||||
        $this->assertSame("<a href=\"$value\" target=\"_blank\">$value</a>", $this->formatter->asUrl($value, ['target' => '_blank']));
 | 
			
		||||
        $this->assertSame("<a href=\"$value\" target=\"_blank\">$value</a>",
 | 
			
		||||
            $this->formatter->asUrl($value, ['target' => '_blank']));
 | 
			
		||||
 | 
			
		||||
        // null display
 | 
			
		||||
        $this->assertSame($this->formatter->nullDisplay, $this->formatter->asUrl(null));
 | 
			
		||||
@ -247,6 +251,7 @@ class FormatterTest extends TestCase
 | 
			
		||||
     */
 | 
			
		||||
    public function testIntlAsLength($value, $expected)
 | 
			
		||||
    {
 | 
			
		||||
        $this->ensureIntlUnitDataAvailable();
 | 
			
		||||
        $this->assertSame($expected, $this->formatter->asLength($value));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -258,6 +263,7 @@ class FormatterTest extends TestCase
 | 
			
		||||
     */
 | 
			
		||||
    public function testIntlAsShortLength($value, $_, $expected)
 | 
			
		||||
    {
 | 
			
		||||
        $this->ensureIntlUnitDataAvailable();
 | 
			
		||||
        $this->assertSame($expected, $this->formatter->asShortLength($value));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -285,6 +291,7 @@ class FormatterTest extends TestCase
 | 
			
		||||
     */
 | 
			
		||||
    public function testIntlAsWeight($value, $expected)
 | 
			
		||||
    {
 | 
			
		||||
        $this->ensureIntlUnitDataAvailable();
 | 
			
		||||
        $this->assertSame($expected, $this->formatter->asWeight($value));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -296,6 +303,7 @@ class FormatterTest extends TestCase
 | 
			
		||||
     */
 | 
			
		||||
    public function testIntlAsShortWeight($value, $_, $expected)
 | 
			
		||||
    {
 | 
			
		||||
        $this->ensureIntlUnitDataAvailable();
 | 
			
		||||
        $this->assertSame($expected, $this->formatter->asShortWeight($value));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -316,4 +324,13 @@ class FormatterTest extends TestCase
 | 
			
		||||
    {
 | 
			
		||||
        $this->formatter->asShortLength(10);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected function ensureIntlUnitDataAvailable()
 | 
			
		||||
    {
 | 
			
		||||
        try {
 | 
			
		||||
            new \ResourceBundle($this->formatter->locale, 'ICUDATA-unit');
 | 
			
		||||
        } catch (\IntlException $e) {
 | 
			
		||||
            $this->markTestSkipped('ICU data does not contain measure units information.');
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user