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) {
 | 
					        if ($this->_resourceBundle === null) {
 | 
				
			||||||
            $this->_resourceBundle = new \ResourceBundle($this->locale, 'ICUDATA-unit');
 | 
					            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]);
 | 
					        $unitNames = array_keys($this->measureUnits[$unitType][$system]);
 | 
				
			||||||
        $bundleKey = 'units' . ($unitFormat === self::FORMAT_WIDTH_SHORT ? 'Short' : '');
 | 
					        $bundleKey = 'units' . ($unitFormat === self::FORMAT_WIDTH_SHORT ? 'Short' : '');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $unitBundle = $this->_resourceBundle[$bundleKey][$unitType][$unitNames[$position]];
 | 
					        $unitBundle = $this->_resourceBundle[$bundleKey][$unitType][$unitNames[$position]];
 | 
				
			||||||
        if ($unitBundle === null) {
 | 
					        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 = [];
 | 
					        $message = [];
 | 
				
			||||||
 | 
				
			|||||||
@ -58,10 +58,11 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
        $this->assertSame(date('Y-m-d', $value), $this->formatter->format($value, function ($value) {
 | 
					        $this->assertSame(date('Y-m-d', $value), $this->formatter->format($value, function ($value) {
 | 
				
			||||||
            return date('Y-m-d', $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),
 | 
				
			||||||
            /** @var $formatter Formatter */
 | 
					            $this->formatter->format($value, function ($value, $formatter) {
 | 
				
			||||||
            return 'from: ' . $formatter->asDate($value, 'php:Y-m-d');
 | 
					                /** @var $formatter Formatter */
 | 
				
			||||||
        }));
 | 
					                return 'from: ' . $formatter->asDate($value, 'php:Y-m-d');
 | 
				
			||||||
 | 
					            }));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function testLocale()
 | 
					    public function testLocale()
 | 
				
			||||||
@ -158,7 +159,8 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
        $value = 'test@sample.com';
 | 
					        $value = 'test@sample.com';
 | 
				
			||||||
        $this->assertSame("<a href=\"mailto:$value\">$value</a>", $this->formatter->asEmail($value));
 | 
					        $this->assertSame("<a href=\"mailto:$value\">$value</a>", $this->formatter->asEmail($value));
 | 
				
			||||||
        $value = 'test@sample.com';
 | 
					        $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
 | 
					        // null display
 | 
				
			||||||
        $this->assertSame($this->formatter->nullDisplay, $this->formatter->asEmail(null));
 | 
					        $this->assertSame($this->formatter->nullDisplay, $this->formatter->asEmail(null));
 | 
				
			||||||
@ -173,9 +175,11 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
        $value = 'www.yiiframework.com/';
 | 
					        $value = 'www.yiiframework.com/';
 | 
				
			||||||
        $this->assertSame("<a href=\"http://$value\">$value</a>", $this->formatter->asUrl($value));
 | 
					        $this->assertSame("<a href=\"http://$value\">$value</a>", $this->formatter->asUrl($value));
 | 
				
			||||||
        $value = 'https://www.yiiframework.com/?name=test&value=5"';
 | 
					        $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/';
 | 
					        $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
 | 
					        // null display
 | 
				
			||||||
        $this->assertSame($this->formatter->nullDisplay, $this->formatter->asUrl(null));
 | 
					        $this->assertSame($this->formatter->nullDisplay, $this->formatter->asUrl(null));
 | 
				
			||||||
@ -247,6 +251,7 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public function testIntlAsLength($value, $expected)
 | 
					    public function testIntlAsLength($value, $expected)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        $this->ensureIntlUnitDataAvailable();
 | 
				
			||||||
        $this->assertSame($expected, $this->formatter->asLength($value));
 | 
					        $this->assertSame($expected, $this->formatter->asLength($value));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -258,6 +263,7 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public function testIntlAsShortLength($value, $_, $expected)
 | 
					    public function testIntlAsShortLength($value, $_, $expected)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        $this->ensureIntlUnitDataAvailable();
 | 
				
			||||||
        $this->assertSame($expected, $this->formatter->asShortLength($value));
 | 
					        $this->assertSame($expected, $this->formatter->asShortLength($value));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -285,6 +291,7 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public function testIntlAsWeight($value, $expected)
 | 
					    public function testIntlAsWeight($value, $expected)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        $this->ensureIntlUnitDataAvailable();
 | 
				
			||||||
        $this->assertSame($expected, $this->formatter->asWeight($value));
 | 
					        $this->assertSame($expected, $this->formatter->asWeight($value));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -296,6 +303,7 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public function testIntlAsShortWeight($value, $_, $expected)
 | 
					    public function testIntlAsShortWeight($value, $_, $expected)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        $this->ensureIntlUnitDataAvailable();
 | 
				
			||||||
        $this->assertSame($expected, $this->formatter->asShortWeight($value));
 | 
					        $this->assertSame($expected, $this->formatter->asShortWeight($value));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -316,4 +324,13 @@ class FormatterTest extends TestCase
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        $this->formatter->asShortLength(10);
 | 
					        $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