From 81c3bbad5724bf4db5e980d052f38277bf197952 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 10 Aug 2015 14:40:33 +0200 Subject: [PATCH] Correctly make use of the languageCode argument in the files activity extension --- apps/files/lib/activity.php | 19 ++++++------- apps/files/tests/activitytest.php | 45 ++++++++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 10 deletions(-) diff --git a/apps/files/lib/activity.php b/apps/files/lib/activity.php index fff49ea4ea..3ed437c045 100644 --- a/apps/files/lib/activity.php +++ b/apps/files/lib/activity.php @@ -136,25 +136,26 @@ class Activity implements IExtension { return false; } + $l = $this->getL10N($languageCode); switch ($text) { 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': - return (string) $this->l->t('%2$s created %1$s', $params); + return (string) $l->t('%2$s created %1$s', $params); 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': - return (string) $this->l->t('You changed %1$s', $params); + return (string) $l->t('You changed %1$s', $params); 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': - return (string) $this->l->t('You deleted %1$s', $params); + return (string) $l->t('You deleted %1$s', $params); 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': - return (string) $this->l->t('You restored %1$s', $params); + return (string) $l->t('You restored %1$s', $params); 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: return false; diff --git a/apps/files/tests/activitytest.php b/apps/files/tests/activitytest.php index 4ab8ad11ea..cdb1d21bcd 100644 --- a/apps/files/tests/activitytest.php +++ b/apps/files/tests/activitytest.php @@ -42,6 +42,9 @@ class ActivityTest extends TestCase { /** @var \PHPUnit_Framework_MockObject_MockObject */ protected $activityHelper; + /** @var \PHPUnit_Framework_MockObject_MockObject */ + protected $l10nFactory; + /** @var \OCA\Files\Activity */ protected $activityExtension; @@ -67,8 +70,28 @@ class ActivityTest extends TestCase { $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( - new \OC\L10N\Factory(), + $this->l10nFactory, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), $this->activityManager, $this->activityHelper, @@ -111,6 +134,26 @@ class ActivityTest extends TestCase { $this->activityExtension->translate('files_sharing', '', [], false, false, 'en'), '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() {