Skip to content

Commit f592055

Browse files
committed
Prepare 0.1.0 release
1 parent ce07086 commit f592055

File tree

3 files changed

+16
-23
lines changed

3 files changed

+16
-23
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ All notable changes to `omines\datatables-bundle` will be documented in this fil
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

55
## [Unreleased]
6+
Nothing yet.
7+
8+
## 0.1.0 - 2017-12-01
9+
### Added
610
- Basic functionality
711

8-
[Unreleased]: https://github.com/omines/datatables-bundle
12+
[Unreleased]: https://github.com/omines/datatables-bundle/compare/0.1.0...master

src/DataTableFactory.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
namespace Omines\DataTablesBundle;
1414

1515
use Omines\DataTablesBundle\DependencyInjection\Instantiator;
16+
use Symfony\Component\HttpFoundation\Request;
1617

1718
class DataTableFactory
1819
{
@@ -58,10 +59,10 @@ public function create(array $options = [])
5859

5960
return (new DataTable(array_merge($config['options'] ?? [], $options), $this->instantiator))
6061
->setRenderer($this->renderer)
61-
->setMethod($config['method'])
62-
->setTranslationDomain($config['translation_domain'])
63-
->setLanguageFromCDN($config['language_from_cdn'])
64-
->setTemplate($config['template'], $config['template_parameters'])
62+
->setMethod($config['method'] ?? Request::METHOD_POST)
63+
->setTranslationDomain($config['translation_domain'] ?? 'messages')
64+
->setLanguageFromCDN($config['language_from_cdn'] ?? true)
65+
->setTemplate($config['template'] ?? DataTable::DEFAULT_TEMPLATE, $config['template_parameters'] ?? [])
6566
;
6667
}
6768

@@ -102,6 +103,7 @@ private function resolveType(string $type): DataTableTypeInterface
102103
} elseif (class_exists($type) && in_array(DataTableTypeInterface::class, class_implements($type), true)) {
103104
return new $type();
104105
}
106+
105107
throw new \InvalidArgumentException(sprintf('Could not resolve type "%s" to a service or class', $type));
106108
}
107109
}

tests/Unit/DataTableTest.php

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,12 @@ public function testBundle()
4848

4949
public function testFactory()
5050
{
51-
$this->markTestSkipped('Incomplete after refactor');
51+
$factory = new DataTableFactory(['language_from_cdn' => false], $this->createMock(TwigRenderer::class));
5252

53-
$factory = new DataTableFactory(['class_name' => 'foo'], ['dom' => 'bar'], $this->createMock(TwigRenderer::class));
54-
$factory->setAdapterLocator(new ServiceLocator([]));
55-
56-
$table = $factory->create(['name' => 'bar'], ['pageLength' => 684]);
57-
$this->assertSame('bar', $table->getSetting('name'));
58-
$this->assertSame('foo', $table->getSetting('class_name'));
59-
$this->assertSame('bar', $table->getOption('dom'));
53+
$table = $factory->create(['pageLength' => 684, 'dom' => 'bar']);
6054
$this->assertSame(684, $table->getOption('pageLength'));
61-
$this->assertArrayHasKey('name', $table->getSettings());
62-
63-
$table = $factory->create(['class_name' => 'bar'], ['dom' => 'foo']);
64-
$this->assertSame('bar', $table->getSetting('class_name'));
65-
$this->assertSame('foo', $table->getOption('dom'));
66-
$this->assertNull($table->getSetting('none'));
55+
$this->assertSame('bar', $table->getOption('dom'));
56+
$this->assertFalse($table->isLanguageFromCDN());
6757
$this->assertNull($table->getOption('invalid'));
6858

6959
$table->setAdapter(new ArrayAdapter());
@@ -72,10 +62,7 @@ public function testFactory()
7262

7363
public function testFactoryRemembersInstances()
7464
{
75-
$this->markTestSkipped('Incomplete after refactor');
76-
77-
$factory = new DataTableFactory([], [], $this->createMock(TwigRenderer::class));
78-
$factory->setAdapterLocator(new ServiceLocator([]));
65+
$factory = new DataTableFactory([], $this->createMock(TwigRenderer::class));
7966

8067
$reflection = new \ReflectionClass(DataTableFactory::class);
8168
$property = $reflection->getProperty('resolvedTypes');

0 commit comments

Comments
 (0)