website/vendor/nesbot/carbon/tests/CarbonIntervalForHumansTest.php

108 lines
3.2 KiB
PHP
Executable File

<?php
/*
* This file is part of the Carbon package.
*
* (c) Brian Nesbitt <brian@nesbot.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Carbon\CarbonInterval;
use Symfony\Component\Translation\Translator;
use Symfony\Component\Translation\Loader\ArrayLoader;
class CarbonIntervalForHumansTest extends TestFixture
{
public function testGetTranslator()
{
$t = CarbonInterval::getTranslator();
$this->assertNotNull($t);
$this->assertSame('en', $t->getLocale());
}
public function testSetTranslator()
{
$t = new Translator('fr');
$t->addLoader('array', new ArrayLoader());
CarbonInterval::setTranslator($t);
$t = CarbonInterval::getTranslator();
$this->assertNotNull($t);
$this->assertSame('fr', $t->getLocale());
}
public function testGetLocale()
{
CarbonInterval::setLocale('en');
$this->assertSame('en', CarbonInterval::getLocale());
}
public function testSetLocale()
{
CarbonInterval::setLocale('en');
$this->assertSame('en', CarbonInterval::getLocale());
CarbonInterval::setLocale('fr');
$this->assertSame('fr', CarbonInterval::getLocale());
}
public function testYear()
{
CarbonInterval::setLocale('en');
$this->assertSame('1 year', CarbonInterval::year()->forHumans());
}
public function testYearToString()
{
CarbonInterval::setLocale('en');
$this->assertSame('1 year:abc', CarbonInterval::year() . ':abc');
}
public function testYears()
{
CarbonInterval::setLocale('en');
$this->assertSame('2 years', CarbonInterval::years(2)->forHumans());
}
public function testYearsAndMonth()
{
CarbonInterval::setLocale('en');
$this->assertSame('2 years 1 month', CarbonInterval::create(2, 1)->forHumans());
}
public function testAll()
{
CarbonInterval::setLocale('en');
$ci = CarbonInterval::create(11, 1, 2, 5, 22, 33, 55)->forHumans();
$this->assertSame('11 years 1 month 2 weeks 5 days 22 hours 33 minutes 55 seconds', $ci);
}
public function testYearsAndMonthInFrench()
{
CarbonInterval::setLocale('fr');
$this->assertSame('2 ans 1 mois', CarbonInterval::create(2, 1)->forHumans());
}
public function testYearsAndMonthInGerman()
{
CarbonInterval::setLocale('de');
$this->assertSame('1 Jahr 1 Monat', CarbonInterval::create(1, 1)->forHumans());
$this->assertSame('2 Jahre 1 Monat', CarbonInterval::create(2, 1)->forHumans());
}
public function testYearsAndMonthInBulgarian()
{
CarbonInterval::setLocale('bg');
$this->assertSame('1 година 1 месец', CarbonInterval::create(1, 1)->forHumans());
$this->assertSame('2 години 1 месец', CarbonInterval::create(2, 1)->forHumans());
}
public function testYearsAndMonthInCatalan()
{
CarbonInterval::setLocale('ca');
$this->assertSame('1 any 1 mes', CarbonInterval::create(1, 1)->forHumans());
$this->assertSame('2 anys 1 mes', CarbonInterval::create(2, 1)->forHumans());
}
}