Correctly make use of the languageCode argument in the files activity extension

This commit is contained in:
Joas Schilling 2015-08-10 14:40:33 +02:00
parent 214729a552
commit 81c3bbad57
2 changed files with 54 additions and 10 deletions

View File

@ -136,25 +136,26 @@ class Activity implements IExtension {
return false; return false;
} }
$l = $this->getL10N($languageCode);
switch ($text) { switch ($text) {
case 'created_self': case 'created_self':
return (string) $this->l->t('You created %1$s', $params); return (string) $l->t('You created %1$s', $params);
case 'created_by': case 'created_by':
return (string) $this->l->t('%2$s created %1$s', $params); return (string) $l->t('%2$s created %1$s', $params);
case 'created_public': case 'created_public':
return (string) $this->l->t('%1$s was created in a public folder', $params); return (string) $l->t('%1$s was created in a public folder', $params);
case 'changed_self': case 'changed_self':
return (string) $this->l->t('You changed %1$s', $params); return (string) $l->t('You changed %1$s', $params);
case 'changed_by': case 'changed_by':
return (string) $this->l->t('%2$s changed %1$s', $params); return (string) $l->t('%2$s changed %1$s', $params);
case 'deleted_self': case 'deleted_self':
return (string) $this->l->t('You deleted %1$s', $params); return (string) $l->t('You deleted %1$s', $params);
case 'deleted_by': case 'deleted_by':
return (string) $this->l->t('%2$s deleted %1$s', $params); return (string) $l->t('%2$s deleted %1$s', $params);
case 'restored_self': case 'restored_self':
return (string) $this->l->t('You restored %1$s', $params); return (string) $l->t('You restored %1$s', $params);
case 'restored_by': case 'restored_by':
return (string) $this->l->t('%2$s restored %1$s', $params); return (string) $l->t('%2$s restored %1$s', $params);
default: default:
return false; return false;

View File

@ -42,6 +42,9 @@ class ActivityTest extends TestCase {
/** @var \PHPUnit_Framework_MockObject_MockObject */ /** @var \PHPUnit_Framework_MockObject_MockObject */
protected $activityHelper; protected $activityHelper;
/** @var \PHPUnit_Framework_MockObject_MockObject */
protected $l10nFactory;
/** @var \OCA\Files\Activity */ /** @var \OCA\Files\Activity */
protected $activityExtension; protected $activityExtension;
@ -67,8 +70,28 @@ class ActivityTest extends TestCase {
$this->config $this->config
); );
$this->l10nFactory = $this->getMockBuilder('OC\L10N\Factory')
->disableOriginalConstructor()
->getMock();
$deL10n = $this->getMockBuilder('OC_L10N')
->disableOriginalConstructor()
->getMock();
$deL10n->expects($this->any())
->method('t')
->willReturnCallback(function ($argument) {
return 'translate(' . $argument . ')';
});
$this->l10nFactory->expects($this->any())
->method('get')
->willReturnMap([
['files', null, new \OC_L10N('files', 'en')],
['files', 'en', new \OC_L10N('files', 'en')],
['files', 'de', $deL10n],
]);
$this->activityExtension = $activityExtension = new Activity( $this->activityExtension = $activityExtension = new Activity(
new \OC\L10N\Factory(), $this->l10nFactory,
$this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(),
$this->activityManager, $this->activityManager,
$this->activityHelper, $this->activityHelper,
@ -111,6 +134,26 @@ class ActivityTest extends TestCase {
$this->activityExtension->translate('files_sharing', '', [], false, false, 'en'), $this->activityExtension->translate('files_sharing', '', [], false, false, 'en'),
'Asserting that no translations are set for files_sharing' 'Asserting that no translations are set for files_sharing'
); );
// Test english
$this->assertNotFalse(
$this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'en'),
'Asserting that translations are set for files.deleted_self'
);
$this->assertStringStartsWith(
'You deleted ',
$this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'en')
);
// Test translation
$this->assertNotFalse(
$this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'de'),
'Asserting that translations are set for files.deleted_self'
);
$this->assertStringStartsWith(
'translate(You deleted ',
$this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'de')
);
} }
public function testGetSpecialParameterList() { public function testGetSpecialParameterList() {