Merge branch '2.8' into 3.1
* 2.8: [ci] Testing with UTC hides bugs [DI] Fix error when trying to resolve a DefinitionDecorator [DoctrineBridge] Fix deprecation message/documentation of implementing UserProviderInterface using the entity provider [Validator] improve and added more Indonesian translation.
This commit is contained in:
commit
2e6618b144
|
@ -51,6 +51,7 @@ before_install:
|
|||
# A sigchild-enabled-PHP is used to test the Process component on the lowest PHP matrix line
|
||||
- if [[ ! $deps && $PHP = ${MIN_PHP%.*} && ! -d php-$MIN_PHP/sapi ]]; then wget http://museum.php.net/php5/php-$MIN_PHP.tar.bz2 -O - | tar -xj; (cd php-$MIN_PHP; ./configure --enable-sigchild --enable-pcntl; make -j2); fi
|
||||
- if [[ ! $PHP = hhvm* ]]; then INI_FILE=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; else INI_FILE=/etc/hhvm/php.ini; fi
|
||||
- if [[ ! $skip ]]; then echo date.timezone = Europe/Paris >> $INI_FILE; fi
|
||||
- if [[ ! $skip ]]; then echo memory_limit = -1 >> $INI_FILE; fi
|
||||
- if [[ ! $skip ]]; then echo session.gc_probability = 0 >> $INI_FILE; fi
|
||||
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = mongo.so >> $INI_FILE; fi
|
||||
|
|
|
@ -253,6 +253,9 @@ UPGRADE FROM 2.x to 3.0
|
|||
closures, but the closure is now resolved in the type instead of in the
|
||||
loader.
|
||||
|
||||
* Using the entity provider with a Doctrine repository implementing `UserProviderInterface` is not supported anymore.
|
||||
You should make the repository implement `UserLoaderInterface` instead.
|
||||
|
||||
### EventDispatcher
|
||||
|
||||
* The method `getListenerPriority($eventName, $listener)` has been added to the
|
||||
|
|
|
@ -29,7 +29,7 @@ install:
|
|||
- cd ..
|
||||
- copy /Y php.ini-development php.ini-min
|
||||
- echo max_execution_time=1200 >> php.ini-min
|
||||
- echo date.timezone="UTC" >> php.ini-min
|
||||
- echo date.timezone="America/Los_Angeles" >> php.ini-min
|
||||
- echo extension_dir=ext >> php.ini-min
|
||||
- copy /Y php.ini-min php.ini-max
|
||||
- echo extension=php_openssl.dll >> php.ini-max
|
||||
|
|
|
@ -18,6 +18,12 @@ CHANGELOG
|
|||
* removed passing a query builder closure to `ORMQueryBuilderLoader`
|
||||
* removed `loader` and `property` options of the `DoctrineType`
|
||||
|
||||
2.8.0
|
||||
-----
|
||||
|
||||
* deprecated using the entity provider with a Doctrine repository implementing UserProviderInterface
|
||||
* added UserLoaderInterface for loading users through Doctrine.
|
||||
|
||||
2.7.0
|
||||
-----
|
||||
|
||||
|
|
|
@ -794,6 +794,10 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
|
|||
*/
|
||||
private function createService(Definition $definition, $id, $tryProxy = true)
|
||||
{
|
||||
if ('Symfony\Component\DependencyInjection\Definition' !== get_class($definition)) {
|
||||
throw new RuntimeException(sprintf('Constructing service "%s" from a %s is not supported at build time.', $id, get_class($definition)));
|
||||
}
|
||||
|
||||
if ($definition->isSynthetic()) {
|
||||
throw new RuntimeException(sprintf('You have requested a synthetic service ("%s"). The DIC does not know how to construct this service.', $id));
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ use Symfony\Component\DependencyInjection\Alias;
|
|||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
use Symfony\Component\DependencyInjection\Definition;
|
||||
use Symfony\Component\DependencyInjection\DefinitionDecorator;
|
||||
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
|
||||
use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
|
||||
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
|
||||
|
@ -380,6 +381,20 @@ class ContainerBuilderTest extends \PHPUnit_Framework_TestCase
|
|||
$this->assertEquals($builder->get('foo'), $builder->resolveServices(new Expression('service("foo")')), '->resolveServices() resolves expressions');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage Constructing service "foo" from a Symfony\Component\DependencyInjection\DefinitionDecorator is not supported at build time.
|
||||
*/
|
||||
public function testResolveServicesWithDecoratedDefinition()
|
||||
{
|
||||
$builder = new ContainerBuilder();
|
||||
$builder->setDefinition('grandpa', new Definition('stdClass'));
|
||||
$builder->setDefinition('parent', new DefinitionDecorator('grandpa'));
|
||||
$builder->setDefinition('foo', new DefinitionDecorator('parent'));
|
||||
|
||||
$builder->get('foo');
|
||||
}
|
||||
|
||||
public function testMerge()
|
||||
{
|
||||
$container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
|
||||
|
|
|
@ -87,7 +87,7 @@ class IntegerToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCas
|
|||
public function testReverseTransform()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -109,7 +109,7 @@ class IntegerToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCas
|
|||
public function testReverseTransformWithGrouping()
|
||||
{
|
||||
// Since we test against "de_DE", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_DE');
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class MoneyToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testTransform()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -47,7 +47,7 @@ class MoneyToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransform()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testTransform($from, $to, $locale)
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault($locale);
|
||||
|
||||
|
@ -68,7 +68,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testTransformWithGrouping($from, $to, $locale)
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault($locale);
|
||||
|
||||
|
@ -80,7 +80,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testTransformWithScale()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -185,7 +185,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testTransformWithRounding($scale, $input, $output, $roundingMode)
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -197,7 +197,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testTransformDoesNotRoundIfNoScale()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -212,7 +212,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransform($to, $from, $locale)
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault($locale);
|
||||
|
||||
|
@ -227,7 +227,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransformWithGrouping($to, $from, $locale)
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault($locale);
|
||||
|
||||
|
@ -242,7 +242,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransformWithGroupingAndFixedSpaces()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('ru');
|
||||
|
||||
|
@ -254,7 +254,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransformWithGroupingButWithoutGroupSeparator()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -374,7 +374,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testDecimalSeparatorMayBeDotIfGroupingSeparatorIsNotDot()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('fr');
|
||||
$transformer = new NumberToLocalizedStringTransformer(null, true);
|
||||
|
@ -394,7 +394,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testDecimalSeparatorMayNotBeDotIfGroupingSeparatorIsDot()
|
||||
{
|
||||
// Since we test against "de_DE", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_DE');
|
||||
|
||||
|
@ -409,7 +409,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testDecimalSeparatorMayNotBeDotIfGroupingSeparatorIsDotWithNoGroupSep()
|
||||
{
|
||||
// Since we test against "de_DE", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_DE');
|
||||
|
||||
|
@ -421,7 +421,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testDecimalSeparatorMayBeDotIfGroupingSeparatorIsDotButNoGroupingUsed()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('fr');
|
||||
$transformer = new NumberToLocalizedStringTransformer();
|
||||
|
@ -433,7 +433,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testDecimalSeparatorMayBeCommaIfGroupingSeparatorIsNotComma()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('bg');
|
||||
$transformer = new NumberToLocalizedStringTransformer(null, true);
|
||||
|
@ -585,7 +585,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransformDisallowsCenteredExtraCharactersMultibyte()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('ru');
|
||||
|
||||
|
@ -601,7 +601,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransformIgnoresTrailingSpacesInExceptionMessage()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('ru');
|
||||
|
||||
|
@ -628,7 +628,7 @@ class NumberToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase
|
|||
public function testReverseTransformDisallowsTrailingExtraCharactersMultibyte()
|
||||
{
|
||||
// Since we test against other locales, we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('ru');
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ class PercentToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCas
|
|||
public function testTransformWithScale()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -92,7 +92,7 @@ class PercentToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCas
|
|||
public function testReverseTransformWithScale()
|
||||
{
|
||||
// Since we test against "de_AT", we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class CountryTypeTest extends TestCase
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireIntl($this);
|
||||
IntlTestHelper::requireIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ class CurrencyTypeTest extends TestCase
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireIntl($this);
|
||||
IntlTestHelper::requireIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ class DateTypeTest extends TestCase
|
|||
public function testSubmitFromSingleTextDateTime()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -91,7 +91,7 @@ class DateTypeTest extends TestCase
|
|||
public function testSubmitFromSingleTextString()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -112,7 +112,7 @@ class DateTypeTest extends TestCase
|
|||
public function testSubmitFromSingleTextTimestamp()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -135,7 +135,7 @@ class DateTypeTest extends TestCase
|
|||
public function testSubmitFromSingleTextRaw()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -399,7 +399,7 @@ class DateTypeTest extends TestCase
|
|||
public function testSetDataWithNegativeTimezoneOffsetStringInput()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -421,7 +421,7 @@ class DateTypeTest extends TestCase
|
|||
public function testSetDataWithNegativeTimezoneOffsetDateTimeInput()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -495,7 +495,7 @@ class DateTypeTest extends TestCase
|
|||
public function testMonthsOptionLongFormat()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -515,7 +515,7 @@ class DateTypeTest extends TestCase
|
|||
public function testMonthsOptionLongFormatWithDifferentTimezone()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -621,7 +621,7 @@ class DateTypeTest extends TestCase
|
|||
public function testPassDatePatternToView()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -634,7 +634,7 @@ class DateTypeTest extends TestCase
|
|||
public function testPassDatePatternToViewDifferentFormat()
|
||||
{
|
||||
// we test against "de_AT", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
|
@ -682,7 +682,7 @@ class DateTypeTest extends TestCase
|
|||
public function testDatePatternFormatWithQuotedStrings()
|
||||
{
|
||||
// we test against "es_ES", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('es_ES');
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ class IntegerTypeTest extends TestCase
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireIntl($this);
|
||||
IntlTestHelper::requireIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ class LanguageTypeTest extends TestCase
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireIntl($this);
|
||||
IntlTestHelper::requireIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ class LocaleTypeTest extends TestCase
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireIntl($this);
|
||||
IntlTestHelper::requireIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ class MoneyTypeTest extends TestCase
|
|||
{
|
||||
// we test against different locales, so we need the full
|
||||
// implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ class NumberTypeTest extends TestCase
|
|||
parent::setUp();
|
||||
|
||||
// we test against "de_DE", so we need the full implementation
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('de_DE');
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class CollatorTest extends AbstractCollatorTest
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -832,9 +832,7 @@ abstract class AbstractIntlDateFormatterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$dateTime = new \DateTime();
|
||||
$dateTime->setTimestamp(null === $timestamp ? time() : $timestamp);
|
||||
if (null !== $timeZone) {
|
||||
$dateTime->setTimezone(new \DateTimeZone($timeZone));
|
||||
}
|
||||
$dateTime->setTimezone(new \DateTimeZone($timeZone ?: getenv('TZ') ?: 'UTC'));
|
||||
|
||||
return $dateTime;
|
||||
}
|
||||
|
|
|
@ -25,13 +25,15 @@ class IntlDateFormatterTest extends AbstractIntlDateFormatterTest
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
protected function getDateFormatter($locale, $datetype, $timetype, $timezone = null, $calendar = IntlDateFormatter::GREGORIAN, $pattern = null)
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this, '55.1');
|
||||
|
||||
if (!$formatter = new \IntlDateFormatter($locale, $datetype, $timetype, $timezone, $calendar, $pattern)) {
|
||||
throw new \InvalidArgumentException(intl_get_error_message());
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class IntlGlobalsTest extends AbstractIntlGlobalsTest
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class LocaleTest extends AbstractLocaleTest
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ class NumberFormatterTest extends AbstractNumberFormatterTest
|
|||
{
|
||||
protected function setUp()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, '55.1');
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
|
@ -32,6 +32,13 @@ class NumberFormatterTest extends AbstractNumberFormatterTest
|
|||
$this->assertInstanceOf('\NumberFormatter', \NumberFormatter::create('en', \NumberFormatter::DECIMAL));
|
||||
}
|
||||
|
||||
public function testGetTextAttribute()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
|
||||
parent::testGetTextAttribute();
|
||||
}
|
||||
|
||||
protected function getNumberFormatter($locale = 'en', $style = null, $pattern = null)
|
||||
{
|
||||
return new \NumberFormatter($locale, $style, $pattern);
|
||||
|
|
|
@ -28,19 +28,21 @@ class IntlTestHelper
|
|||
{
|
||||
/**
|
||||
* Should be called before tests that work fine with the stub implementation.
|
||||
*
|
||||
* @param \PhpUnit_Framework_TestCase $testCase
|
||||
*/
|
||||
public static function requireIntl(\PHPUnit_Framework_TestCase $testCase)
|
||||
public static function requireIntl(\PHPUnit_Framework_TestCase $testCase, $minimumIcuVersion = null)
|
||||
{
|
||||
if (null === $minimumIcuVersion) {
|
||||
$minimumIcuVersion = Intl::getIcuStubVersion();
|
||||
}
|
||||
|
||||
// We only run tests if the version is *one specific version*.
|
||||
// This condition is satisfied if
|
||||
//
|
||||
// * the intl extension is loaded with version Intl::getIcuStubVersion()
|
||||
// * the intl extension is not loaded
|
||||
|
||||
if (IcuVersion::compare(Intl::getIcuVersion(), Intl::getIcuStubVersion(), '!=', 1)) {
|
||||
$testCase->markTestSkipped('ICU version '.Intl::getIcuStubVersion().' is required.');
|
||||
if (($minimumIcuVersion || defined('HHVM_VERSION_ID')) && IcuVersion::compare(Intl::getIcuVersion(), $minimumIcuVersion, '!=', 1)) {
|
||||
$testCase->markTestSkipped('ICU version '.$minimumIcuVersion.' is required.');
|
||||
}
|
||||
|
||||
// Normalize the default locale in case this is not done explicitly
|
||||
|
@ -60,24 +62,15 @@ class IntlTestHelper
|
|||
/**
|
||||
* Should be called before tests that require a feature-complete intl
|
||||
* implementation.
|
||||
*
|
||||
* @param \PhpUnit_Framework_TestCase $testCase
|
||||
*/
|
||||
public static function requireFullIntl(\PHPUnit_Framework_TestCase $testCase)
|
||||
public static function requireFullIntl(\PHPUnit_Framework_TestCase $testCase, $minimumIcuVersion = null)
|
||||
{
|
||||
// We only run tests if the intl extension is loaded...
|
||||
if (!Intl::isExtensionLoaded()) {
|
||||
$testCase->markTestSkipped('Extension intl is required.');
|
||||
}
|
||||
|
||||
// ... and only if the version is *one specific version*
|
||||
if (IcuVersion::compare(Intl::getIcuVersion(), Intl::getIcuStubVersion(), '!=', 1)) {
|
||||
$testCase->markTestSkipped('ICU version '.Intl::getIcuStubVersion().' is required.');
|
||||
}
|
||||
|
||||
// Normalize the default locale in case this is not done explicitly
|
||||
// in the test
|
||||
\Locale::setDefault('en');
|
||||
self::requireIntl($testCase, $minimumIcuVersion);
|
||||
|
||||
// Consequently, tests will
|
||||
//
|
||||
|
@ -89,8 +82,6 @@ class IntlTestHelper
|
|||
|
||||
/**
|
||||
* Skips the test unless the current system has a 32bit architecture.
|
||||
*
|
||||
* @param \PhpUnit_Framework_TestCase $testCase
|
||||
*/
|
||||
public static function require32Bit(\PHPUnit_Framework_TestCase $testCase)
|
||||
{
|
||||
|
@ -101,8 +92,6 @@ class IntlTestHelper
|
|||
|
||||
/**
|
||||
* Skips the test unless the current system has a 64bit architecture.
|
||||
*
|
||||
* @param \PhpUnit_Framework_TestCase $testCase
|
||||
*/
|
||||
public static function require64Bit(\PHPUnit_Framework_TestCase $testCase)
|
||||
{
|
||||
|
|
|
@ -60,7 +60,7 @@ class IdentityTranslatorTest extends \PHPUnit_Framework_TestCase
|
|||
public function testGetLocaleReturnsDefaultLocaleIfNotSet()
|
||||
{
|
||||
// in order to test with "pt_BR"
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
$translator = new IdentityTranslator();
|
||||
|
||||
|
|
|
@ -36,11 +36,11 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="9">
|
||||
<source>This field was not expected.</source>
|
||||
<target>Bidang ini tidak diharapkan.</target>
|
||||
<target>Ruas ini tidak diharapkan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="10">
|
||||
<source>This field is missing.</source>
|
||||
<target>Bidang ini hilang.</target>
|
||||
<target>Ruas ini hilang.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="11">
|
||||
<source>This value is not a valid date.</source>
|
||||
|
@ -52,15 +52,15 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="13">
|
||||
<source>This value is not a valid email address.</source>
|
||||
<target>Nilai ini bukan alamat email yang sah.</target>
|
||||
<target>Nilai ini bukan alamat surel yang sah.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="14">
|
||||
<source>The file could not be found.</source>
|
||||
<target>Berkas tidak ditemukan.</target>
|
||||
<target>Berkas tidak dapat ditemukan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="15">
|
||||
<source>The file is not readable.</source>
|
||||
<target>Berkas tidak bisa dibaca.</target>
|
||||
<target>Berkas tidak dapat dibaca.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="16">
|
||||
<source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source>
|
||||
|
@ -68,7 +68,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="17">
|
||||
<source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source>
|
||||
<target>Jenis berkas ({{ type }}) tidak sah. Jenis berkas yang diijinkan adalah {{ types }}.</target>
|
||||
<target>Jenis berkas ({{ type }}) tidak sah. Jenis berkas yang diizinkan adalah {{ types }}.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="18">
|
||||
<source>This value should be {{ limit }} or less.</source>
|
||||
|
@ -116,7 +116,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="32">
|
||||
<source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source>
|
||||
<target>Ukuran berkas terlalu besar. Ukuran maksimum yang diijinkan adalah {{ limit }} {{ suffix }}.</target>
|
||||
<target>Ukuran berkas terlalu besar. Ukuran maksimum yang diizinkan adalah {{ limit }} {{ suffix }}.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="33">
|
||||
<source>The file is too large.</source>
|
||||
|
@ -132,7 +132,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="36">
|
||||
<source>This file is not a valid image.</source>
|
||||
<target>Berkas ini tidak termasuk gambar.</target>
|
||||
<target>Berkas ini tidak termasuk citra.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="37">
|
||||
<source>This is not a valid IP address.</source>
|
||||
|
@ -156,23 +156,23 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="42">
|
||||
<source>The size of the image could not be detected.</source>
|
||||
<target>Ukuran dari gambar tidak bisa dideteksi.</target>
|
||||
<target>Ukuran dari citra tidak bisa dideteksi.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="43">
|
||||
<source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source>
|
||||
<target>Lebar gambar terlalu besar ({{ width }}px). Ukuran lebar maksimum adalah {{ max_width }}px.</target>
|
||||
<target>Lebar citra terlalu besar ({{ width }}px). Ukuran lebar maksimum adalah {{ max_width }}px.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="44">
|
||||
<source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source>
|
||||
<target>Lebar gambar terlalu kecil ({{ width }}px). Ukuran lebar minimum yang diharapkan adalah {{ min_width }}px.</target>
|
||||
<target>Lebar citra terlalu kecil ({{ width }}px). Ukuran lebar minimum yang diharapkan adalah {{ min_width }}px.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="45">
|
||||
<source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source>
|
||||
<target>Tinggi gambar terlalu besar ({{ height }}px). Ukuran tinggi maksimum adalah {{ max_height }}px.</target>
|
||||
<target>Tinggi citra terlalu besar ({{ height }}px). Ukuran tinggi maksimum adalah {{ max_height }}px.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="46">
|
||||
<source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source>
|
||||
<target>Tinggi gambar terlalu kecil ({{ height }}px). Ukuran tinggi minimum yang diharapkan adalah {{ min_height }}px.</target>
|
||||
<target>Tinggi citra terlalu kecil ({{ height }}px). Ukuran tinggi minimum yang diharapkan adalah {{ min_height }}px.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="47">
|
||||
<source>This value should be the user's current password.</source>
|
||||
|
@ -278,6 +278,38 @@
|
|||
<source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source>
|
||||
<target>Nilai ini seharusnya tidak identik dengan {{ compared_value_type }} {{ compared_value }}.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="73">
|
||||
<source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source>
|
||||
<target>Rasio citra terlalu besar ({{ ratio }}). Rasio maksimum yang diizinkan adalah {{ max_ratio }}.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="74">
|
||||
<source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source>
|
||||
<target>Rasio citra terlalu kecil ({{ ratio }}). Rasio minimum yang diharapkan adalah {{ min_ratio }}.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="75">
|
||||
<source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source>
|
||||
<target>Citra persegi ({{ width }}x{{ height }}px). Citra persegi tidak diizinkan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="76">
|
||||
<source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source>
|
||||
<target>Citra berorientasi lanskap ({{ width }}x{{ height }}px). Citra berorientasi lanskap tidak diizinkan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="77">
|
||||
<source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source>
|
||||
<target>Citra berorientasi potret ({{ width }}x{{ height }}px). Citra berorientasi potret tidak diizinkan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="78">
|
||||
<source>An empty file is not allowed.</source>
|
||||
<target>Berkas kosong tidak diizinkan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="79">
|
||||
<source>The host could not be resolved.</source>
|
||||
<target>Host tidak dapat diselesaikan.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="80">
|
||||
<source>This value does not match the expected {{ charset }} charset.</source>
|
||||
<target>Nilai ini tidak memenuhi set karakter {{ charset }} yang diharapkan.</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
@ -91,7 +91,7 @@ class CountryValidatorTest extends AbstractConstraintValidatorTest
|
|||
public function testValidateUsingCountrySpecificLocale()
|
||||
{
|
||||
// in order to test with "en_GB"
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('en_GB');
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ class CurrencyValidatorTest extends AbstractConstraintValidatorTest
|
|||
**/
|
||||
public function testValidCurrenciesWithCountrySpecificLocale($currency)
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('en_GB');
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ class LanguageValidatorTest extends AbstractConstraintValidatorTest
|
|||
|
||||
public function testValidateUsingCountrySpecificLocale()
|
||||
{
|
||||
IntlTestHelper::requireFullIntl($this);
|
||||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('fr_FR');
|
||||
$existingLanguage = 'en';
|
||||
|
|
Reference in New Issue