make sure force language is reflected in html lang attribute
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
parent
b9584e1b25
commit
0dc1b3e741
|
@ -130,6 +130,12 @@ class Factory implements IFactory {
|
|||
return $this->requestLanguage;
|
||||
}
|
||||
|
||||
$forceLang = $this->config->getSystemValue('force_language', false);
|
||||
if (is_string($forceLang) && $this->languageExists($app, $forceLang)) {
|
||||
$this->requestLanguage = $forceLang;
|
||||
return $forceLang;
|
||||
}
|
||||
|
||||
/**
|
||||
* At this point Nextcloud might not yet be installed and thus the lookup
|
||||
* in the preferences table might fail. For this reason we need to check
|
||||
|
|
|
@ -110,7 +110,12 @@ class FactoryTest extends TestCase {
|
|||
->with('MyApp', 'de')
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->expects($this->at(0))
|
||||
->method('getSystemValue')
|
||||
->with('force_language', false)
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(1))
|
||||
->method('getSystemValue')
|
||||
->with('installed', false)
|
||||
->willReturn(true);
|
||||
|
@ -146,6 +151,11 @@ class FactoryTest extends TestCase {
|
|||
$this->config
|
||||
->expects($this->at(0))
|
||||
->method('getSystemValue')
|
||||
->with('force_language', false)
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(1))
|
||||
->method('getSystemValue')
|
||||
->with('installed', false)
|
||||
->willReturn(true);
|
||||
$user = $this->getMockBuilder(IUser::class)
|
||||
|
@ -167,7 +177,7 @@ class FactoryTest extends TestCase {
|
|||
->with('MyApp', 'jp')
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(2))
|
||||
->expects($this->at(3))
|
||||
->method('getSystemValue')
|
||||
->with('default_language', false)
|
||||
->willReturn('es');
|
||||
|
@ -189,6 +199,11 @@ class FactoryTest extends TestCase {
|
|||
$this->config
|
||||
->expects($this->at(0))
|
||||
->method('getSystemValue')
|
||||
->with('force_language', false)
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(1))
|
||||
->method('getSystemValue')
|
||||
->with('installed', false)
|
||||
->willReturn(true);
|
||||
$user = $this->getMockBuilder(IUser::class)
|
||||
|
@ -210,7 +225,7 @@ class FactoryTest extends TestCase {
|
|||
->with('MyApp', 'jp')
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(2))
|
||||
->expects($this->at(3))
|
||||
->method('getSystemValue')
|
||||
->with('default_language', false)
|
||||
->willReturn('es');
|
||||
|
@ -235,6 +250,11 @@ class FactoryTest extends TestCase {
|
|||
$this->config
|
||||
->expects($this->at(0))
|
||||
->method('getSystemValue')
|
||||
->with('force_language', false)
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(1))
|
||||
->method('getSystemValue')
|
||||
->with('installed', false)
|
||||
->willReturn(true);
|
||||
$user = $this->getMockBuilder(IUser::class)
|
||||
|
@ -256,7 +276,7 @@ class FactoryTest extends TestCase {
|
|||
->with('MyApp', 'jp')
|
||||
->willReturn(false);
|
||||
$this->config
|
||||
->expects($this->at(2))
|
||||
->expects($this->at(3))
|
||||
->method('getSystemValue')
|
||||
->with('default_language', false)
|
||||
->willReturn('es');
|
||||
|
@ -273,6 +293,22 @@ class FactoryTest extends TestCase {
|
|||
$this->assertSame('en', $factory->findLanguage('MyApp'));
|
||||
}
|
||||
|
||||
public function testFindLanguageWithForcedLanguage() {
|
||||
$factory = $this->getFactory(['languageExists']);
|
||||
$this->config
|
||||
->expects($this->at(0))
|
||||
->method('getSystemValue')
|
||||
->with('force_language', false)
|
||||
->willReturn('de');
|
||||
|
||||
$factory->expects($this->once())
|
||||
->method('languageExists')
|
||||
->with('MyApp', 'de')
|
||||
->willReturn(true);
|
||||
|
||||
$this->assertSame('de', $factory->findLanguage('MyApp'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider dataFindAvailableLanguages
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue