1.18 (#3158)
* bump version * fix translation ids * added css classes to modify form with custom css * improve export pdf file names * respect financial year in new report * added new InvoiceCalculator: price * upgrade packages and node-sass to v7 * title pattern for customer, project and activity via API * support negative money without currency * fix sub-locale in print export template * fix overbooking validation for monthly budget * fix copying entities with different set of custom-fields compared to the current configuration
This commit is contained in:
@@ -17,6 +17,7 @@ use PHPUnit\Framework\TestCase;
|
||||
use Twig\Node\Node;
|
||||
use Twig\TwigFilter;
|
||||
use Twig\TwigFunction;
|
||||
use Twig\TwigTest;
|
||||
|
||||
/**
|
||||
* @covers \App\Twig\Extensions
|
||||
@@ -28,6 +29,18 @@ class ExtensionsTest extends TestCase
|
||||
return new Extensions();
|
||||
}
|
||||
|
||||
private function getTest(string $name): TwigTest
|
||||
{
|
||||
$sut = $this->getSut();
|
||||
foreach ($sut->getTests() as $test) {
|
||||
if ($test->getName() === $name) {
|
||||
return $test;
|
||||
}
|
||||
}
|
||||
|
||||
throw new \Exception('Unknown twig test: ' . $name);
|
||||
}
|
||||
|
||||
public function testGetFilters()
|
||||
{
|
||||
$filters = ['report_date', 'docu_link', 'multiline_indent', 'color', 'font_contrast', 'default_color', 'nl2str'];
|
||||
@@ -63,6 +76,22 @@ class ExtensionsTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
public function testGetTests()
|
||||
{
|
||||
$tests = ['number'];
|
||||
$i = 0;
|
||||
|
||||
$sut = $this->getSut();
|
||||
$twigTests = $sut->getTests();
|
||||
$this->assertCount(\count($tests), $twigTests);
|
||||
|
||||
/** @var TwigTest $test */
|
||||
foreach ($twigTests as $test) {
|
||||
$this->assertInstanceOf(TwigTest::class, $test);
|
||||
$this->assertEquals($tests[$i++], $test->getName());
|
||||
}
|
||||
}
|
||||
|
||||
public function testDocuLink()
|
||||
{
|
||||
$data = [
|
||||
@@ -213,6 +242,17 @@ sdfsdf' . PHP_EOL . "\n" .
|
||||
self::assertEquals('', $sut->defaultColor(''));
|
||||
}
|
||||
|
||||
public function testIsNumeric()
|
||||
{
|
||||
$test = $this->getTest('number');
|
||||
self::assertFalse(\call_user_func($test->getCallable(), null));
|
||||
self::assertFalse(\call_user_func($test->getCallable(), true));
|
||||
self::assertFalse(\call_user_func($test->getCallable(), false));
|
||||
self::assertFalse(\call_user_func($test->getCallable(), '1'));
|
||||
self::assertTrue(\call_user_func($test->getCallable(), 1));
|
||||
self::assertTrue(\call_user_func($test->getCallable(), 1.0));
|
||||
}
|
||||
|
||||
private static function assertIsValidColor(string $color)
|
||||
{
|
||||
self::assertStringStartsWith('#', $color);
|
||||
|
||||
Reference in New Issue
Block a user