Fix more tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2016-10-28 22:08:32 +02:00
parent 740659a04c
commit 83e7cfd13a
No known key found for this signature in database
GPG Key ID: 1E152838F164D13B
6 changed files with 20 additions and 161 deletions

View File

@ -24,6 +24,8 @@
namespace OCA\Files\Tests; namespace OCA\Files\Tests;
use OCA\Files\Activity; use OCA\Files\Activity;
use OCP\IL10N;
use OCP\L10N\IFactory;
use Test\TestCase; use Test\TestCase;
/** /**
@ -77,12 +79,8 @@ class ActivityTest extends TestCase {
$this->config $this->config
); );
$this->l10nFactory = $this->getMockBuilder('OCP\L10N\IFactory') $this->l10nFactory = $this->createMock(IFactory::class);
->disableOriginalConstructor() $deL10n = $this->createMock(IL10N::class);
->getMock();
$deL10n = $this->getMockBuilder('OC_L10N')
->disableOriginalConstructor()
->getMock();
$deL10n->expects($this->any()) $deL10n->expects($this->any())
->method('t') ->method('t')
->willReturnCallback(function ($argument) { ->willReturnCallback(function ($argument) {
@ -92,8 +90,8 @@ class ActivityTest extends TestCase {
$this->l10nFactory->expects($this->any()) $this->l10nFactory->expects($this->any())
->method('get') ->method('get')
->willReturnMap([ ->willReturnMap([
['files', null, new \OC_L10N('files', 'en')], ['files', null, \OC::$server->getL10N('files', 'en')],
['files', 'en', new \OC_L10N('files', 'en')], ['files', 'en', \OC::$server->getL10N('files', 'en')],
['files', 'de', $deL10n], ['files', 'de', $deL10n],
]); ]);

View File

@ -137,7 +137,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'files', 'appname' => 'files',
'script' => 'list.php', 'script' => 'list.php',
'order' => 0, 'order' => 0,
'name' => (string)new \OC_L10N_String(new \OC_L10N('files'), 'All files', []), 'name' => \OC::$server->getL10N('files')->t('All files'),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],
@ -146,7 +146,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'files', 'appname' => 'files',
'script' => 'recentlist.php', 'script' => 'recentlist.php',
'order' => 2, 'order' => 2,
'name' => (string)new \OC_L10N_String(new \OC_L10N('files'), 'Recent', []), 'name' => \OC::$server->getL10N('files')->t('Recent'),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],
@ -164,7 +164,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'files_sharing', 'appname' => 'files_sharing',
'script' => 'list.php', 'script' => 'list.php',
'order' => 10, 'order' => 10,
'name' => (string)new \OC_L10N_String(new \OC_L10N('files_sharing'), 'Shared with you', []), 'name' => \OC::$server->getL10N('files_sharing')->t('Shared with you'),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],
@ -173,7 +173,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'files_sharing', 'appname' => 'files_sharing',
'script' => 'list.php', 'script' => 'list.php',
'order' => 15, 'order' => 15,
'name' => (string)new \OC_L10N_String(new \OC_L10N('files_sharing'), 'Shared with others', []), 'name' => \OC::$server->getL10N('files_sharing')->t('Shared with others'),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],
@ -182,7 +182,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'files_sharing', 'appname' => 'files_sharing',
'script' => 'list.php', 'script' => 'list.php',
'order' => 20, 'order' => 20,
'name' => (string)new \OC_L10N_String(new \OC_L10N('files_sharing'), 'Shared by link', []), 'name' => \OC::$server->getL10N('files_sharing')->t('Shared by link', []),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],
@ -191,7 +191,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'systemtags', 'appname' => 'systemtags',
'script' => 'list.php', 'script' => 'list.php',
'order' => 25, 'order' => 25,
'name' => (string)new \OC_L10N_String(new \OC_L10N('systemtags'), 'Tags', []), 'name' => \OC::$server->getL10N('systemtags')->t('Tags'),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],
@ -200,7 +200,7 @@ class ViewControllerTest extends TestCase {
'appname' => 'files_trashbin', 'appname' => 'files_trashbin',
'script' => 'list.php', 'script' => 'list.php',
'order' => 50, 'order' => 50,
'name' => (string)new \OC_L10N_String(new \OC_L10N('files_trashbin'), 'Deleted files', []), 'name' => \OC::$server->getL10N('files_trashbin')->t('Deleted files'),
'active' => false, 'active' => false,
'icon' => '', 'icon' => '',
], ],

View File

@ -27,7 +27,7 @@
*/ */
class OC_L10N_String implements JsonSerializable { class OC_L10N_String implements JsonSerializable {
/** @var \OC_L10N|\OC\L10N\L10N */ /** @var \OC\L10N\L10N */
protected $l10n; protected $l10n;
/** @var string */ /** @var string */
@ -40,12 +40,12 @@ class OC_L10N_String implements JsonSerializable {
protected $count; protected $count;
/** /**
* @param \OC_L10N|\OC\L10N\L10N $l10n * @param \OC\L10N\L10N $l10n
* @param string|string[] $text * @param string|string[] $text
* @param array $parameters * @param array $parameters
* @param int $count * @param int $count
*/ */
public function __construct($l10n, $text, $parameters, $count = 1) { public function __construct(\OC\L10N\L10N $l10n, $text, $parameters, $count = 1) {
$this->l10n = $l10n; $this->l10n = $l10n;
$this->text = $text; $this->text = $text;
$this->parameters = $parameters; $this->parameters = $parameters;

View File

@ -34,7 +34,7 @@ class DateTimeFormatterTest extends TestCase {
protected function setUp() { protected function setUp() {
parent::setUp(); parent::setUp();
$this->formatter = new \OC\DateTimeFormatter(new \DateTimeZone('UTC'), new \OC_L10N('lib', 'en')); $this->formatter = new \OC\DateTimeFormatter(new \DateTimeZone('UTC'), \OC::$server->getL10N('lib', 'en'));
} }
protected function getTimestampAgo($time, $seconds = 0, $minutes = 0, $hours = 0, $days = 0, $years = 0) { protected function getTimestampAgo($time, $seconds = 0, $minutes = 0, $hours = 0, $days = 0, $years = 0) {
@ -43,7 +43,7 @@ class DateTimeFormatterTest extends TestCase {
public function formatTimeSpanData() { public function formatTimeSpanData() {
$time = 1416916800; // Use a fixed timestamp so we don't switch days/years with the getTimestampAgo $time = 1416916800; // Use a fixed timestamp so we don't switch days/years with the getTimestampAgo
$deL10N = new \OC_L10N('lib', 'de'); $deL10N = \OC::$server->getL10N('lib', 'de');
return array( return array(
array('seconds ago', $time, $time), array('seconds ago', $time, $time),
array('1 minute ago', $this->getTimestampAgo($time, 30, 1), $time), array('1 minute ago', $this->getTimestampAgo($time, 30, 1), $time),
@ -81,7 +81,7 @@ class DateTimeFormatterTest extends TestCase {
public function formatDateSpanData() { public function formatDateSpanData() {
$time = 1416916800; // Use a fixed timestamp so we don't switch days/years with the getTimestampAgo $time = 1416916800; // Use a fixed timestamp so we don't switch days/years with the getTimestampAgo
$deL10N = new \OC_L10N('lib', 'de'); $deL10N = \OC::$server->getL10N('lib', 'de');
return array( return array(
// Normal testing // Normal testing
array('today', $this->getTimestampAgo($time, 30, 15), $time), array('today', $this->getTimestampAgo($time, 30, 15), $time),

View File

@ -1,139 +0,0 @@
<?php
/**
* Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace Test\L10N;
use OC_L10N;
use DateTime;
/**
* Class Test_L10n
*/
class L10nLegacyTest extends \Test\TestCase {
public function testGermanPluralTranslations() {
$l = new OC_L10N('test');
$transFile = \OC::$SERVERROOT.'/tests/data/l10n/de.json';
$l->load($transFile);
$this->assertEquals('1 Datei', (string)$l->n('%n file', '%n files', 1));
$this->assertEquals('2 Dateien', (string)$l->n('%n file', '%n files', 2));
}
public function testRussianPluralTranslations() {
$l = new OC_L10N('test');
$transFile = \OC::$SERVERROOT.'/tests/data/l10n/ru.json';
$l->load($transFile);
$this->assertEquals('1 файл', (string)$l->n('%n file', '%n files', 1));
$this->assertEquals('2 файла', (string)$l->n('%n file', '%n files', 2));
$this->assertEquals('6 файлов', (string)$l->n('%n file', '%n files', 6));
$this->assertEquals('21 файл', (string)$l->n('%n file', '%n files', 21));
$this->assertEquals('22 файла', (string)$l->n('%n file', '%n files', 22));
$this->assertEquals('26 файлов', (string)$l->n('%n file', '%n files', 26));
/*
1 file 1 файл 1 папка
2-4 files 2-4 файла 2-4 папки
5-20 files 5-20 файлов 5-20 папок
21 files 21 файл 21 папка
22-24 files 22-24 файла 22-24 папки
25-30 files 25-30 файлов 25-30 папок
etc
100 files 100 файлов, 100 папок
1000 files 1000 файлов 1000 папок
*/
}
public function testCzechPluralTranslations() {
$l = new OC_L10N('test');
$transFile = \OC::$SERVERROOT.'/tests/data/l10n/cs.json';
$l->load($transFile);
$this->assertEquals('1 okno', (string)$l->n('%n window', '%n windows', 1));
$this->assertEquals('2 okna', (string)$l->n('%n window', '%n windows', 2));
$this->assertEquals('5 oken', (string)$l->n('%n window', '%n windows', 5));
}
public function localizationDataProvider() {
return array(
// timestamp as string
array('February 13, 2009 at 11:31:30 PM GMT+0', 'en', 'datetime', '1234567890'),
array('13. Februar 2009 um 23:31:30 GMT+0', 'de', 'datetime', '1234567890'),
array('February 13, 2009', 'en', 'date', '1234567890'),
array('13. Februar 2009', 'de', 'date', '1234567890'),
array('11:31:30 PM GMT+0', 'en', 'time', '1234567890'),
array('23:31:30 GMT+0', 'de', 'time', '1234567890'),
// timestamp as int
array('February 13, 2009 at 11:31:30 PM GMT+0', 'en', 'datetime', 1234567890),
array('13. Februar 2009 um 23:31:30 GMT+0', 'de', 'datetime', 1234567890),
array('February 13, 2009', 'en', 'date', 1234567890),
array('13. Februar 2009', 'de', 'date', 1234567890),
array('11:31:30 PM GMT+0', 'en', 'time', 1234567890),
array('23:31:30 GMT+0', 'de', 'time', 1234567890),
// DateTime object
array('February 13, 2009 at 11:31:30 PM GMT+0', 'en', 'datetime', new DateTime('@1234567890')),
array('13. Februar 2009 um 23:31:30 GMT+0', 'de', 'datetime', new DateTime('@1234567890')),
array('February 13, 2009', 'en', 'date', new DateTime('@1234567890')),
array('13. Februar 2009', 'de', 'date', new DateTime('@1234567890')),
array('11:31:30 PM GMT+0', 'en', 'time', new DateTime('@1234567890')),
array('23:31:30 GMT+0', 'de', 'time', new DateTime('@1234567890')),
// en_GB
array('13 February 2009 at 23:31:30 GMT+0', 'en_GB', 'datetime', new DateTime('@1234567890')),
array('13 February 2009', 'en_GB', 'date', new DateTime('@1234567890')),
array('23:31:30 GMT+0', 'en_GB', 'time', new DateTime('@1234567890')),
array('13 February 2009 at 23:31:30 GMT+0', 'en-GB', 'datetime', new DateTime('@1234567890')),
array('13 February 2009', 'en-GB', 'date', new DateTime('@1234567890')),
array('23:31:30 GMT+0', 'en-GB', 'time', new DateTime('@1234567890')),
);
}
/**
* @dataProvider localizationDataProvider
*/
public function testNumericStringLocalization($expectedDate, $lang, $type, $value) {
$l = new OC_L10N('test', $lang);
$this->assertSame($expectedDate, $l->l($type, $value));
}
public function firstDayDataProvider() {
return array(
array(1, 'de'),
array(0, 'en'),
);
}
/**
* @dataProvider firstDayDataProvider
* @param $expected
* @param $lang
*/
public function testFirstWeekDay($expected, $lang) {
$l = new OC_L10N('test', $lang);
$this->assertSame($expected, $l->l('firstday', 'firstday'));
}
public function testFactoryGetLanguageCode() {
$factory = new \OC\L10N\Factory(
$this->getMockBuilder('OCP\IConfig')->getMock(),
$this->getMockBuilder('OCP\IRequest')->getMock(),
$this->getMockBuilder('OCP\IUserSession')->getMock(),
\OC::$SERVERROOT);
$l = $factory->get('lib', 'de');
$this->assertEquals('de', $l->getLanguageCode());
}
public function testServiceGetLanguageCode() {
$l = \OC::$server->getL10N('lib', 'de');
$this->assertEquals('de', $l->getLanguageCode());
}
}

View File

@ -91,7 +91,7 @@ class UtilTest extends \Test\TestCase {
$selectedTimeZone = \OC::$server->getDateTimeZone()->getTimeZone(1350129205); $selectedTimeZone = \OC::$server->getDateTimeZone()->getTimeZone(1350129205);
$this->assertEquals($expectedTimeZone, $selectedTimeZone->getName()); $this->assertEquals($expectedTimeZone, $selectedTimeZone->getName());
$newDateTimeFormatter = new \OC\DateTimeFormatter($selectedTimeZone, new \OC_L10N('lib', 'en')); $newDateTimeFormatter = new \OC\DateTimeFormatter($selectedTimeZone, \OC::$server->getL10N('lib', 'en'));
$this->overwriteService('DateTimeFormatter', $newDateTimeFormatter); $this->overwriteService('DateTimeFormatter', $newDateTimeFormatter);
$result = OC_Util::formatDate(1350129205, false); $result = OC_Util::formatDate(1350129205, false);