Merge branch '4.3' into 4.4
* 4.3: [FrameworkBundle] Detect indirect env vars in routing Remove calls to deprecated function assertAttributeX [Intl] Order alpha2 to alpha3 mapping [Routing] added a warning about the getRouteCollection() method Allow sutFqcnResolver to return array [HttpFoundation] Revert getClientIp @return docblock
This commit is contained in:
commit
94f588a706
@ -76,7 +76,7 @@ class CoverageListenerTrait
|
|||||||
$cache = $r->getValue();
|
$cache = $r->getValue();
|
||||||
$cache = array_replace_recursive($cache, array(
|
$cache = array_replace_recursive($cache, array(
|
||||||
\get_class($test) => array(
|
\get_class($test) => array(
|
||||||
'covers' => array($sutFqcn),
|
'covers' => \is_array($sutFqcn) ? $sutFqcn : array($sutFqcn),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
$r->setValue($testClass, $cache);
|
$r->setValue($testClass, $cache);
|
||||||
|
@ -160,7 +160,7 @@ class Router extends BaseRouter implements WarmableInterface, ServiceSubscriberI
|
|||||||
return '%%';
|
return '%%';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preg_match('/^env\(\w+\)$/', $match[1])) {
|
if (preg_match('/^env\((?:\w++:)*+\w++\)$/', $match[1])) {
|
||||||
throw new RuntimeException(sprintf('Using "%%%s%%" is not allowed in routing configuration.', $match[1]));
|
throw new RuntimeException(sprintf('Using "%%%s%%" is not allowed in routing configuration.', $match[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ class Router extends BaseRouter implements WarmableInterface, ServiceSubscriberI
|
|||||||
if (\is_string($resolved) || is_numeric($resolved)) {
|
if (\is_string($resolved) || is_numeric($resolved)) {
|
||||||
$this->collectedParameters[$match[1]] = $resolved;
|
$this->collectedParameters[$match[1]] = $resolved;
|
||||||
|
|
||||||
return (string) $resolved;
|
return (string) $this->resolve($resolved);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new RuntimeException(sprintf('The container parameter "%s", used in the route configuration value "%s", must be a string or numeric, but it is of type %s.', $match[1], $value, \gettype($resolved)));
|
throw new RuntimeException(sprintf('The container parameter "%s", used in the route configuration value "%s", must be a string or numeric, but it is of type %s.', $match[1], $value, \gettype($resolved)));
|
||||||
|
@ -16,6 +16,7 @@ use Psr\Container\ContainerInterface;
|
|||||||
use Symfony\Bundle\FrameworkBundle\Routing\Router;
|
use Symfony\Bundle\FrameworkBundle\Routing\Router;
|
||||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
use Symfony\Component\DependencyInjection\Config\ContainerParametersResource;
|
use Symfony\Component\DependencyInjection\Config\ContainerParametersResource;
|
||||||
|
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
|
||||||
use Symfony\Component\Routing\Route;
|
use Symfony\Component\Routing\Route;
|
||||||
use Symfony\Component\Routing\RouteCollection;
|
use Symfony\Component\Routing\RouteCollection;
|
||||||
|
|
||||||
@ -278,13 +279,13 @@ class RouterTest extends TestCase
|
|||||||
$routes->add('foo', new Route('/before/%parameter.foo%/after/%%escaped%%'));
|
$routes->add('foo', new Route('/before/%parameter.foo%/after/%%escaped%%'));
|
||||||
|
|
||||||
$sc = $this->getServiceContainer($routes);
|
$sc = $this->getServiceContainer($routes);
|
||||||
$sc->setParameter('parameter.foo', 'foo');
|
$sc->setParameter('parameter.foo', 'foo-%%escaped%%');
|
||||||
|
|
||||||
$router = new Router($sc, 'foo');
|
$router = new Router($sc, 'foo');
|
||||||
$route = $router->getRouteCollection()->get('foo');
|
$route = $router->getRouteCollection()->get('foo');
|
||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
'/before/foo/after/%escaped%',
|
'/before/foo-%escaped%/after/%escaped%',
|
||||||
$route->getPath()
|
$route->getPath()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -313,6 +314,22 @@ class RouterTest extends TestCase
|
|||||||
$router->getRouteCollection();
|
$router->getRouteCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testIndirectEnvPlaceholders()
|
||||||
|
{
|
||||||
|
$routes = new RouteCollection();
|
||||||
|
|
||||||
|
$routes->add('foo', new Route('/%foo%'));
|
||||||
|
|
||||||
|
$router = new Router($container = $this->getServiceContainer($routes), 'foo');
|
||||||
|
$container->setParameter('foo', 'foo-%bar%');
|
||||||
|
$container->setParameter('bar', '%env(string:FOO)%');
|
||||||
|
|
||||||
|
$this->expectException(RuntimeException::class);
|
||||||
|
$this->expectExceptionMessage('Using "%env(string:FOO)%" is not allowed in routing configuration.');
|
||||||
|
|
||||||
|
$router->getRouteCollection();
|
||||||
|
}
|
||||||
|
|
||||||
public function testHostPlaceholders()
|
public function testHostPlaceholders()
|
||||||
{
|
{
|
||||||
$routes = new RouteCollection();
|
$routes = new RouteCollection();
|
||||||
|
@ -61,14 +61,14 @@ class GenericEventTest extends TestCase
|
|||||||
public function testSetArguments()
|
public function testSetArguments()
|
||||||
{
|
{
|
||||||
$result = $this->event->setArguments(['foo' => 'bar']);
|
$result = $this->event->setArguments(['foo' => 'bar']);
|
||||||
$this->assertAttributeSame(['foo' => 'bar'], 'arguments', $this->event);
|
$this->assertSame(['foo' => 'bar'], $this->event->getArguments());
|
||||||
$this->assertSame($this->event, $result);
|
$this->assertSame($this->event, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testSetArgument()
|
public function testSetArgument()
|
||||||
{
|
{
|
||||||
$result = $this->event->setArgument('foo2', 'bar2');
|
$result = $this->event->setArgument('foo2', 'bar2');
|
||||||
$this->assertAttributeSame(['name' => 'Event', 'foo2' => 'bar2'], 'arguments', $this->event);
|
$this->assertSame(['name' => 'Event', 'foo2' => 'bar2'], $this->event->getArguments());
|
||||||
$this->assertEquals($this->event, $result);
|
$this->assertEquals($this->event, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,13 +97,13 @@ class GenericEventTest extends TestCase
|
|||||||
public function testOffsetSet()
|
public function testOffsetSet()
|
||||||
{
|
{
|
||||||
$this->event['foo2'] = 'bar2';
|
$this->event['foo2'] = 'bar2';
|
||||||
$this->assertAttributeSame(['name' => 'Event', 'foo2' => 'bar2'], 'arguments', $this->event);
|
$this->assertSame(['name' => 'Event', 'foo2' => 'bar2'], $this->event->getArguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testOffsetUnset()
|
public function testOffsetUnset()
|
||||||
{
|
{
|
||||||
unset($this->event['name']);
|
unset($this->event['name']);
|
||||||
$this->assertAttributeSame([], 'arguments', $this->event);
|
$this->assertSame([], $this->event->getArguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testOffsetIsset()
|
public function testOffsetIsset()
|
||||||
|
@ -796,7 +796,11 @@ class Request
|
|||||||
* being the original client, and each successive proxy that passed the request
|
* being the original client, and each successive proxy that passed the request
|
||||||
* adding the IP address where it received the request from.
|
* adding the IP address where it received the request from.
|
||||||
*
|
*
|
||||||
* @return string|null The client IP address
|
* If your reverse proxy uses a different header name than "X-Forwarded-For",
|
||||||
|
* ("Client-Ip" for instance), configure it via the $trustedHeaderSet
|
||||||
|
* argument of the Request::setTrustedProxies() method instead.
|
||||||
|
*
|
||||||
|
* @return string The client IP address
|
||||||
*
|
*
|
||||||
* @see getClientIps()
|
* @see getClientIps()
|
||||||
* @see http://en.wikipedia.org/wiki/X-Forwarded-For
|
* @see http://en.wikipedia.org/wiki/X-Forwarded-For
|
||||||
|
@ -317,15 +317,15 @@ class PdoSessionHandlerTest extends TestCase
|
|||||||
public function testUrlDsn($url, $expectedDsn, $expectedUser = null, $expectedPassword = null)
|
public function testUrlDsn($url, $expectedDsn, $expectedUser = null, $expectedPassword = null)
|
||||||
{
|
{
|
||||||
$storage = new PdoSessionHandler($url);
|
$storage = new PdoSessionHandler($url);
|
||||||
|
$reflection = new \ReflectionClass(PdoSessionHandler::class);
|
||||||
|
|
||||||
$this->assertAttributeEquals($expectedDsn, 'dsn', $storage);
|
foreach (['dsn' => $expectedDsn, 'username' => $expectedUser, 'password' => $expectedPassword] as $property => $expectedValue) {
|
||||||
|
if (!isset($expectedValue)) {
|
||||||
if (null !== $expectedUser) {
|
continue;
|
||||||
$this->assertAttributeEquals($expectedUser, 'username', $storage);
|
|
||||||
}
|
}
|
||||||
|
$property = $reflection->getProperty($property);
|
||||||
if (null !== $expectedPassword) {
|
$property->setAccessible(true);
|
||||||
$this->assertAttributeEquals($expectedPassword, 'password', $storage);
|
$this->assertSame($expectedValue, $property->getValue($storage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,6 +205,8 @@ class LanguageDataGenerator extends AbstractDataGenerator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
asort($alpha2ToAlpha3);
|
||||||
|
|
||||||
return $alpha2ToAlpha3;
|
return $alpha2ToAlpha3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -622,14 +622,11 @@
|
|||||||
"Alpha2ToAlpha3": {
|
"Alpha2ToAlpha3": {
|
||||||
"aa": "aar",
|
"aa": "aar",
|
||||||
"ab": "abk",
|
"ab": "abk",
|
||||||
"dz": "dzo",
|
|
||||||
"af": "afr",
|
"af": "afr",
|
||||||
"ak": "aka",
|
"ak": "aka",
|
||||||
"sq": "sqi",
|
|
||||||
"am": "amh",
|
"am": "amh",
|
||||||
"ar": "ara",
|
"ar": "ara",
|
||||||
"an": "arg",
|
"an": "arg",
|
||||||
"hy": "hye",
|
|
||||||
"as": "asm",
|
"as": "asm",
|
||||||
"av": "ava",
|
"av": "ava",
|
||||||
"ae": "ave",
|
"ae": "ave",
|
||||||
@ -637,7 +634,6 @@
|
|||||||
"az": "aze",
|
"az": "aze",
|
||||||
"ba": "bak",
|
"ba": "bak",
|
||||||
"bm": "bam",
|
"bm": "bam",
|
||||||
"eu": "eus",
|
|
||||||
"be": "bel",
|
"be": "bel",
|
||||||
"bn": "ben",
|
"bn": "ben",
|
||||||
"bi": "bis",
|
"bi": "bis",
|
||||||
@ -645,12 +641,10 @@
|
|||||||
"bs": "bos",
|
"bs": "bos",
|
||||||
"br": "bre",
|
"br": "bre",
|
||||||
"bg": "bul",
|
"bg": "bul",
|
||||||
"my": "mya",
|
|
||||||
"ca": "cat",
|
"ca": "cat",
|
||||||
"cs": "ces",
|
"cs": "ces",
|
||||||
"ch": "cha",
|
"ch": "cha",
|
||||||
"ce": "che",
|
"ce": "che",
|
||||||
"zh": "zho",
|
|
||||||
"cu": "chu",
|
"cu": "chu",
|
||||||
"cv": "chv",
|
"cv": "chv",
|
||||||
"kw": "cor",
|
"kw": "cor",
|
||||||
@ -660,13 +654,12 @@
|
|||||||
"da": "dan",
|
"da": "dan",
|
||||||
"de": "deu",
|
"de": "deu",
|
||||||
"dv": "div",
|
"dv": "div",
|
||||||
"mn": "mon",
|
"dz": "dzo",
|
||||||
"nl": "nld",
|
|
||||||
"et": "est",
|
|
||||||
"el": "ell",
|
"el": "ell",
|
||||||
"en": "eng",
|
"en": "eng",
|
||||||
"eo": "epo",
|
"eo": "epo",
|
||||||
"ik": "ipk",
|
"et": "est",
|
||||||
|
"eu": "eus",
|
||||||
"ee": "ewe",
|
"ee": "ewe",
|
||||||
"fo": "fao",
|
"fo": "fao",
|
||||||
"fa": "fas",
|
"fa": "fas",
|
||||||
@ -675,8 +668,6 @@
|
|||||||
"fr": "fra",
|
"fr": "fra",
|
||||||
"fy": "fry",
|
"fy": "fry",
|
||||||
"ff": "ful",
|
"ff": "ful",
|
||||||
"om": "orm",
|
|
||||||
"ka": "kat",
|
|
||||||
"gd": "gla",
|
"gd": "gla",
|
||||||
"ga": "gle",
|
"ga": "gle",
|
||||||
"gl": "glg",
|
"gl": "glg",
|
||||||
@ -691,31 +682,34 @@
|
|||||||
"ho": "hmo",
|
"ho": "hmo",
|
||||||
"hr": "hrv",
|
"hr": "hrv",
|
||||||
"hu": "hun",
|
"hu": "hun",
|
||||||
|
"hy": "hye",
|
||||||
"ig": "ibo",
|
"ig": "ibo",
|
||||||
"is": "isl",
|
|
||||||
"io": "ido",
|
"io": "ido",
|
||||||
"ii": "iii",
|
"ii": "iii",
|
||||||
"iu": "iku",
|
"iu": "iku",
|
||||||
"ie": "ile",
|
"ie": "ile",
|
||||||
"ia": "ina",
|
"ia": "ina",
|
||||||
"id": "ind",
|
"id": "ind",
|
||||||
|
"ik": "ipk",
|
||||||
|
"is": "isl",
|
||||||
"it": "ita",
|
"it": "ita",
|
||||||
"jv": "jav",
|
"jv": "jav",
|
||||||
"ja": "jpn",
|
"ja": "jpn",
|
||||||
"kl": "kal",
|
"kl": "kal",
|
||||||
"kn": "kan",
|
"kn": "kan",
|
||||||
"ks": "kas",
|
"ks": "kas",
|
||||||
|
"ka": "kat",
|
||||||
"kr": "kau",
|
"kr": "kau",
|
||||||
"kk": "kaz",
|
"kk": "kaz",
|
||||||
"km": "khm",
|
"km": "khm",
|
||||||
"ki": "kik",
|
"ki": "kik",
|
||||||
"rw": "kin",
|
"rw": "kin",
|
||||||
"ky": "kir",
|
"ky": "kir",
|
||||||
"ku": "kur",
|
|
||||||
"kg": "kon",
|
|
||||||
"kv": "kom",
|
"kv": "kom",
|
||||||
|
"kg": "kon",
|
||||||
"ko": "kor",
|
"ko": "kor",
|
||||||
"kj": "kua",
|
"kj": "kua",
|
||||||
|
"ku": "kur",
|
||||||
"lo": "lao",
|
"lo": "lao",
|
||||||
"la": "lat",
|
"la": "lat",
|
||||||
"lv": "lav",
|
"lv": "lav",
|
||||||
@ -725,40 +719,43 @@
|
|||||||
"lb": "ltz",
|
"lb": "ltz",
|
||||||
"lu": "lub",
|
"lu": "lub",
|
||||||
"lg": "lug",
|
"lg": "lug",
|
||||||
"mk": "mkd",
|
|
||||||
"mh": "mah",
|
"mh": "mah",
|
||||||
"ml": "mal",
|
"ml": "mal",
|
||||||
"mi": "mri",
|
|
||||||
"mr": "mar",
|
"mr": "mar",
|
||||||
"ms": "msa",
|
"mk": "mkd",
|
||||||
"mg": "mlg",
|
"mg": "mlg",
|
||||||
"mt": "mlt",
|
"mt": "mlt",
|
||||||
"ro": "ron",
|
"mn": "mon",
|
||||||
|
"mi": "mri",
|
||||||
|
"ms": "msa",
|
||||||
|
"my": "mya",
|
||||||
"na": "nau",
|
"na": "nau",
|
||||||
"nv": "nav",
|
"nv": "nav",
|
||||||
"nr": "nbl",
|
"nr": "nbl",
|
||||||
"nd": "nde",
|
"nd": "nde",
|
||||||
"ng": "ndo",
|
"ng": "ndo",
|
||||||
"ne": "nep",
|
"ne": "nep",
|
||||||
|
"nl": "nld",
|
||||||
"nn": "nno",
|
"nn": "nno",
|
||||||
"nb": "nob",
|
"nb": "nob",
|
||||||
"ny": "nya",
|
"ny": "nya",
|
||||||
"oc": "oci",
|
"oc": "oci",
|
||||||
"oj": "oji",
|
"oj": "oji",
|
||||||
"or": "ori",
|
"or": "ori",
|
||||||
|
"om": "orm",
|
||||||
"os": "oss",
|
"os": "oss",
|
||||||
"pa": "pan",
|
"pa": "pan",
|
||||||
"ps": "pus",
|
|
||||||
"pi": "pli",
|
"pi": "pli",
|
||||||
"pl": "pol",
|
"pl": "pol",
|
||||||
"pt": "por",
|
"pt": "por",
|
||||||
|
"ps": "pus",
|
||||||
"qu": "que",
|
"qu": "que",
|
||||||
"rm": "roh",
|
"rm": "roh",
|
||||||
|
"ro": "ron",
|
||||||
"rn": "run",
|
"rn": "run",
|
||||||
"ru": "rus",
|
"ru": "rus",
|
||||||
"sg": "sag",
|
"sg": "sag",
|
||||||
"sa": "san",
|
"sa": "san",
|
||||||
"sr": "srp",
|
|
||||||
"si": "sin",
|
"si": "sin",
|
||||||
"sk": "slk",
|
"sk": "slk",
|
||||||
"sl": "slv",
|
"sl": "slv",
|
||||||
@ -769,7 +766,9 @@
|
|||||||
"so": "som",
|
"so": "som",
|
||||||
"st": "sot",
|
"st": "sot",
|
||||||
"es": "spa",
|
"es": "spa",
|
||||||
|
"sq": "sqi",
|
||||||
"sc": "srd",
|
"sc": "srd",
|
||||||
|
"sr": "srp",
|
||||||
"ss": "ssw",
|
"ss": "ssw",
|
||||||
"su": "sun",
|
"su": "sun",
|
||||||
"sw": "swa",
|
"sw": "swa",
|
||||||
@ -799,6 +798,7 @@
|
|||||||
"yi": "yid",
|
"yi": "yid",
|
||||||
"yo": "yor",
|
"yo": "yor",
|
||||||
"za": "zha",
|
"za": "zha",
|
||||||
|
"zh": "zho",
|
||||||
"zu": "zul"
|
"zu": "zul"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -647,11 +647,9 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'ab' => 'abk',
|
'ab' => 'abk',
|
||||||
'af' => 'afr',
|
'af' => 'afr',
|
||||||
'ak' => 'aka',
|
'ak' => 'aka',
|
||||||
'sq' => 'sqi',
|
|
||||||
'am' => 'amh',
|
'am' => 'amh',
|
||||||
'ar' => 'ara',
|
'ar' => 'ara',
|
||||||
'an' => 'arg',
|
'an' => 'arg',
|
||||||
'hy' => 'hye',
|
|
||||||
'as' => 'asm',
|
'as' => 'asm',
|
||||||
'av' => 'ava',
|
'av' => 'ava',
|
||||||
'ae' => 'ave',
|
'ae' => 'ave',
|
||||||
@ -659,7 +657,6 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'az' => 'aze',
|
'az' => 'aze',
|
||||||
'ba' => 'bak',
|
'ba' => 'bak',
|
||||||
'bm' => 'bam',
|
'bm' => 'bam',
|
||||||
'eu' => 'eus',
|
|
||||||
'be' => 'bel',
|
'be' => 'bel',
|
||||||
'bn' => 'ben',
|
'bn' => 'ben',
|
||||||
'bi' => 'bis',
|
'bi' => 'bis',
|
||||||
@ -667,12 +664,10 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'bs' => 'bos',
|
'bs' => 'bos',
|
||||||
'br' => 'bre',
|
'br' => 'bre',
|
||||||
'bg' => 'bul',
|
'bg' => 'bul',
|
||||||
'my' => 'mya',
|
|
||||||
'ca' => 'cat',
|
'ca' => 'cat',
|
||||||
'cs' => 'ces',
|
'cs' => 'ces',
|
||||||
'ch' => 'cha',
|
'ch' => 'cha',
|
||||||
'ce' => 'che',
|
'ce' => 'che',
|
||||||
'zh' => 'zho',
|
|
||||||
'cu' => 'chu',
|
'cu' => 'chu',
|
||||||
'cv' => 'chv',
|
'cv' => 'chv',
|
||||||
'kw' => 'cor',
|
'kw' => 'cor',
|
||||||
@ -682,13 +677,12 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'da' => 'dan',
|
'da' => 'dan',
|
||||||
'de' => 'deu',
|
'de' => 'deu',
|
||||||
'dv' => 'div',
|
'dv' => 'div',
|
||||||
'nl' => 'nld',
|
|
||||||
'dz' => 'dzo',
|
'dz' => 'dzo',
|
||||||
'et' => 'est',
|
|
||||||
'el' => 'ell',
|
'el' => 'ell',
|
||||||
'en' => 'eng',
|
'en' => 'eng',
|
||||||
'eo' => 'epo',
|
'eo' => 'epo',
|
||||||
'ik' => 'ipk',
|
'et' => 'est',
|
||||||
|
'eu' => 'eus',
|
||||||
'ee' => 'ewe',
|
'ee' => 'ewe',
|
||||||
'fo' => 'fao',
|
'fo' => 'fao',
|
||||||
'fa' => 'fas',
|
'fa' => 'fas',
|
||||||
@ -697,8 +691,6 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'fr' => 'fra',
|
'fr' => 'fra',
|
||||||
'fy' => 'fry',
|
'fy' => 'fry',
|
||||||
'ff' => 'ful',
|
'ff' => 'ful',
|
||||||
'om' => 'orm',
|
|
||||||
'ka' => 'kat',
|
|
||||||
'gd' => 'gla',
|
'gd' => 'gla',
|
||||||
'ga' => 'gle',
|
'ga' => 'gle',
|
||||||
'gl' => 'glg',
|
'gl' => 'glg',
|
||||||
@ -713,32 +705,34 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'ho' => 'hmo',
|
'ho' => 'hmo',
|
||||||
'hr' => 'hrv',
|
'hr' => 'hrv',
|
||||||
'hu' => 'hun',
|
'hu' => 'hun',
|
||||||
|
'hy' => 'hye',
|
||||||
'ig' => 'ibo',
|
'ig' => 'ibo',
|
||||||
'is' => 'isl',
|
|
||||||
'io' => 'ido',
|
'io' => 'ido',
|
||||||
'ii' => 'iii',
|
'ii' => 'iii',
|
||||||
'iu' => 'iku',
|
'iu' => 'iku',
|
||||||
'ie' => 'ile',
|
'ie' => 'ile',
|
||||||
'ia' => 'ina',
|
'ia' => 'ina',
|
||||||
'id' => 'ind',
|
'id' => 'ind',
|
||||||
|
'ik' => 'ipk',
|
||||||
|
'is' => 'isl',
|
||||||
'it' => 'ita',
|
'it' => 'ita',
|
||||||
'jv' => 'jav',
|
'jv' => 'jav',
|
||||||
'ja' => 'jpn',
|
'ja' => 'jpn',
|
||||||
'kl' => 'kal',
|
'kl' => 'kal',
|
||||||
'kn' => 'kan',
|
'kn' => 'kan',
|
||||||
'ks' => 'kas',
|
'ks' => 'kas',
|
||||||
|
'ka' => 'kat',
|
||||||
'kr' => 'kau',
|
'kr' => 'kau',
|
||||||
'kk' => 'kaz',
|
'kk' => 'kaz',
|
||||||
'mn' => 'mon',
|
|
||||||
'km' => 'khm',
|
'km' => 'khm',
|
||||||
'ki' => 'kik',
|
'ki' => 'kik',
|
||||||
'rw' => 'kin',
|
'rw' => 'kin',
|
||||||
'ky' => 'kir',
|
'ky' => 'kir',
|
||||||
'ku' => 'kur',
|
|
||||||
'kg' => 'kon',
|
|
||||||
'kv' => 'kom',
|
'kv' => 'kom',
|
||||||
|
'kg' => 'kon',
|
||||||
'ko' => 'kor',
|
'ko' => 'kor',
|
||||||
'kj' => 'kua',
|
'kj' => 'kua',
|
||||||
|
'ku' => 'kur',
|
||||||
'lo' => 'lao',
|
'lo' => 'lao',
|
||||||
'la' => 'lat',
|
'la' => 'lat',
|
||||||
'lv' => 'lav',
|
'lv' => 'lav',
|
||||||
@ -748,32 +742,36 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'lb' => 'ltz',
|
'lb' => 'ltz',
|
||||||
'lu' => 'lub',
|
'lu' => 'lub',
|
||||||
'lg' => 'lug',
|
'lg' => 'lug',
|
||||||
'mk' => 'mkd',
|
|
||||||
'mh' => 'mah',
|
'mh' => 'mah',
|
||||||
'ml' => 'mal',
|
'ml' => 'mal',
|
||||||
'mi' => 'mri',
|
|
||||||
'mr' => 'mar',
|
'mr' => 'mar',
|
||||||
'ms' => 'msa',
|
'mk' => 'mkd',
|
||||||
'mg' => 'mlg',
|
'mg' => 'mlg',
|
||||||
'mt' => 'mlt',
|
'mt' => 'mlt',
|
||||||
|
'mn' => 'mon',
|
||||||
|
'mi' => 'mri',
|
||||||
|
'ms' => 'msa',
|
||||||
|
'my' => 'mya',
|
||||||
'na' => 'nau',
|
'na' => 'nau',
|
||||||
'nv' => 'nav',
|
'nv' => 'nav',
|
||||||
'nr' => 'nbl',
|
'nr' => 'nbl',
|
||||||
'nd' => 'nde',
|
'nd' => 'nde',
|
||||||
'ng' => 'ndo',
|
'ng' => 'ndo',
|
||||||
'ne' => 'nep',
|
'ne' => 'nep',
|
||||||
|
'nl' => 'nld',
|
||||||
'nn' => 'nno',
|
'nn' => 'nno',
|
||||||
'nb' => 'nob',
|
'nb' => 'nob',
|
||||||
'ny' => 'nya',
|
'ny' => 'nya',
|
||||||
'oc' => 'oci',
|
'oc' => 'oci',
|
||||||
'oj' => 'oji',
|
'oj' => 'oji',
|
||||||
'or' => 'ori',
|
'or' => 'ori',
|
||||||
|
'om' => 'orm',
|
||||||
'os' => 'oss',
|
'os' => 'oss',
|
||||||
'pa' => 'pan',
|
'pa' => 'pan',
|
||||||
'ps' => 'pus',
|
|
||||||
'pi' => 'pli',
|
'pi' => 'pli',
|
||||||
'pl' => 'pol',
|
'pl' => 'pol',
|
||||||
'pt' => 'por',
|
'pt' => 'por',
|
||||||
|
'ps' => 'pus',
|
||||||
'qu' => 'que',
|
'qu' => 'que',
|
||||||
'rm' => 'roh',
|
'rm' => 'roh',
|
||||||
'ro' => 'ron',
|
'ro' => 'ron',
|
||||||
@ -781,7 +779,6 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'ru' => 'rus',
|
'ru' => 'rus',
|
||||||
'sg' => 'sag',
|
'sg' => 'sag',
|
||||||
'sa' => 'san',
|
'sa' => 'san',
|
||||||
'sr' => 'srp',
|
|
||||||
'si' => 'sin',
|
'si' => 'sin',
|
||||||
'sk' => 'slk',
|
'sk' => 'slk',
|
||||||
'sl' => 'slv',
|
'sl' => 'slv',
|
||||||
@ -792,7 +789,9 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'so' => 'som',
|
'so' => 'som',
|
||||||
'st' => 'sot',
|
'st' => 'sot',
|
||||||
'es' => 'spa',
|
'es' => 'spa',
|
||||||
|
'sq' => 'sqi',
|
||||||
'sc' => 'srd',
|
'sc' => 'srd',
|
||||||
|
'sr' => 'srp',
|
||||||
'ss' => 'ssw',
|
'ss' => 'ssw',
|
||||||
'su' => 'sun',
|
'su' => 'sun',
|
||||||
'sw' => 'swa',
|
'sw' => 'swa',
|
||||||
@ -822,6 +821,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
|
|||||||
'yi' => 'yid',
|
'yi' => 'yid',
|
||||||
'yo' => 'yor',
|
'yo' => 'yor',
|
||||||
'za' => 'zha',
|
'za' => 'zha',
|
||||||
|
'zh' => 'zho',
|
||||||
'zu' => 'zul',
|
'zu' => 'zul',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -26,6 +26,9 @@ interface RouterInterface extends UrlMatcherInterface, UrlGeneratorInterface
|
|||||||
/**
|
/**
|
||||||
* Gets the RouteCollection instance associated with this Router.
|
* Gets the RouteCollection instance associated with this Router.
|
||||||
*
|
*
|
||||||
|
* WARNING: This method should never be used at runtime as it is SLOW.
|
||||||
|
* You might use it in a cache warmer though.
|
||||||
|
*
|
||||||
* @return RouteCollection A RouteCollection instance
|
* @return RouteCollection A RouteCollection instance
|
||||||
*/
|
*/
|
||||||
public function getRouteCollection();
|
public function getRouteCollection();
|
||||||
|
Reference in New Issue
Block a user