diff --git a/.atoum.php b/.atoum.php
index 99a59b3..056e2ef 100644
--- a/.atoum.php
+++ b/.atoum.php
@@ -1,8 +1,13 @@
addExtension(new \mageekguy\atoum\xml\extension($script));
$runner->disableCodeCoverage();
+$runner->setBootstrapFile(__DIR__ . '/tests/bootstrap.php');
$runner->addTestsFromDirectory(__DIR__ . '/tests/units');
+
## Notifier (growlnotify)
$images = __DIR__ . '/vendor/atoum/atoum/resources/images/logo';
diff --git a/composer.json b/composer.json
index b7e6fe9..95db8b8 100644
--- a/composer.json
+++ b/composer.json
@@ -29,7 +29,8 @@
"atoum/stubs": "^2.5"
},
"require-dev": {
- "atoum/atoum" : "dev-master"
+ "atoum/atoum" : "2.8.x",
+ "shulard/atoum-xml-extension": "^0.1.0"
},
"autoload": {
"psr-0": {
diff --git a/composer.lock b/composer.lock
index 297e3a2..8f38ec4 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "32e7a0383116c306d7b1a03b61eec762",
- "content-hash": "3edd49fe872cb1f579c0c25b6390076f",
+ "hash": "0d61793c92e9c3df8f92b33c75211170",
+ "content-hash": "6a844493f80980c2b400fde544f79cfa",
"packages": [
{
"name": "Gravatar/Gravatar",
@@ -18,7 +18,7 @@
"dist": {
"type": "zip",
"url": "https://github.com/sveneisenschmidt/Gravatar-php/zipball/master",
- "reference": null,
+ "reference": "master",
"shasum": null
},
"type": "library",
@@ -140,7 +140,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/40db0c96985aab2822edbc4848b3bd2429e02670",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/v1.1.2",
"reference": "v1.1.2",
"shasum": ""
},
@@ -281,7 +281,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/866e100a425b8b73d15393fd081c6bf067f05bf9",
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/bcb53776a096a0c64579cc8d8ec0db62f1109fbc",
"reference": "bcb53776a096a0c64579cc8d8ec0db62f1109fbc",
"shasum": ""
},
@@ -348,7 +348,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/common/zipball/773c56e51fc26ae07a47146fae31b320dd6cada3",
+ "url": "https://api.github.com/repos/doctrine/common/zipball/6a39bb947b20d12a16820f2709509e41e28af005",
"reference": "6a39bb947b20d12a16820f2709509e41e28af005",
"shasum": ""
},
@@ -492,7 +492,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b4b3ccec7aafc596e2fc1e593c9f2e78f939c8c",
"reference": "8b4b3ccec7aafc596e2fc1e593c9f2e78f939c8c",
"shasum": ""
},
@@ -560,7 +560,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/bc0e1f0cc285127a38c6c8ea88bc5dba2fd53e94",
"reference": "bc0e1f0cc285127a38c6c8ea88bc5dba2fd53e94",
"shasum": ""
},
@@ -748,6 +748,7 @@
"rest",
"web service"
],
+ "abandoned": "guzzlehttp/guzzle",
"time": "2015-04-29 17:06:53"
},
{
@@ -761,7 +762,7 @@
"dist": {
"type": "zip",
"url": "https://github.com/mheap/Silex-Gravatar/zipball/master",
- "reference": null,
+ "reference": "master",
"shasum": null
},
"type": "library",
@@ -874,7 +875,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/1.0.0",
"reference": "1.0.0",
"shasum": ""
},
@@ -912,7 +913,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/silexphp/Silex/zipball/75b8714f00bf4e64eedc0d9283b03eb05af67196",
+ "url": "https://api.github.com/repos/silexphp/Silex/zipball/4787bf21e416b9abd5cbf41daf136dae20d56f5c",
"reference": "4787bf21e416b9abd5cbf41daf136dae20d56f5c",
"shasum": ""
},
@@ -1047,7 +1048,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/0bb8f07107a2911db0fe49c39f96b5018e5ab678",
- "reference": "v2.1.11",
+ "reference": "0bb8f07107a2911db0fe49c39f96b5018e5ab678",
"shasum": ""
},
"require": {
@@ -1097,7 +1098,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/class-loader/zipball/0e9d7c12151d4c9942865a049d38e97c6c7288cb",
- "reference": "v2.1.11",
+ "reference": "0e9d7c12151d4c9942865a049d38e97c6c7288cb",
"shasum": ""
},
"require": {
@@ -1142,7 +1143,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/52783b199f0899b037441d9f2b3b9ca84e22b60a",
- "reference": "v2.1.11",
+ "reference": "52783b199f0899b037441d9f2b3b9ca84e22b60a",
"shasum": ""
},
"require": {
@@ -1226,7 +1227,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/bf7bb82a099dfb26b018daf70ad1985fea4d2997",
- "reference": "v2.1.11",
+ "reference": "bf7bb82a099dfb26b018daf70ad1985fea4d2997",
"shasum": ""
},
"require": {
@@ -1323,7 +1324,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/bedfd7eb44e3b1224d1e18335d2e36bbbed26cbe",
- "reference": "v2.1.11",
+ "reference": "bedfd7eb44e3b1224d1e18335d2e36bbbed26cbe",
"shasum": ""
},
"require": {
@@ -1371,7 +1372,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e1d18ff0ff6f3e45ac82f000bc221135df635527",
- "reference": "v2.1.11",
+ "reference": "e1d18ff0ff6f3e45ac82f000bc221135df635527",
"shasum": ""
},
"require": {
@@ -1420,7 +1421,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/form/zipball/d2edecec0d0f854ed176f7ac32332d44fa31c696",
- "reference": "v2.1.11",
+ "reference": "d2edecec0d0f854ed176f7ac32332d44fa31c696",
"shasum": ""
},
"require": {
@@ -1472,8 +1473,8 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1471377556d700602dccf298226c2e167499d19b",
- "reference": "329b059893fdcc9399962ca5881d988264123d23",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f9aad386aa4a27ef7b35ba6665afae6689de0a32",
+ "reference": "f9aad386aa4a27ef7b35ba6665afae6689de0a32",
"shasum": ""
},
"require": {
@@ -1522,8 +1523,8 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c4aa19ff5b0adb7ff606f45e8631db8ebdc76072",
- "reference": "f42c09457e6cdebdc34bb1603178c8e69be1565a",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/703a8e941aae3adf50fea0780d90ab141ddba27f",
+ "reference": "703a8e941aae3adf50fea0780d90ab141ddba27f",
"shasum": ""
},
"require": {
@@ -1594,7 +1595,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Locale/zipball/3ad6a5129809b3815a2b9056eee470dc2877717f",
- "reference": "v2.1.11",
+ "reference": "3ad6a5129809b3815a2b9056eee470dc2877717f",
"shasum": ""
},
"require": {
@@ -1625,6 +1626,7 @@
],
"description": "Symfony Locale Component",
"homepage": "http://symfony.com",
+ "abandoned": "symfony/intl",
"time": "2013-01-10 04:41:59"
},
{
@@ -1639,7 +1641,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/1a1319747462c2d457c3e1c8c2c9a26ad4bcb67b",
- "reference": "v2.1.11",
+ "reference": "1a1319747462c2d457c3e1c8c2c9a26ad4bcb67b",
"shasum": ""
},
"require": {
@@ -1685,8 +1687,8 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/9f464f27cb127232f5c32d5a736fe769e5249442",
- "reference": "3085975262bc36dc89929a936056dc6e5cb8a100",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/8549a3faebaef87d2b938641e5d59beb6912be4b",
+ "reference": "8549a3faebaef87d2b938641e5d59beb6912be4b",
"shasum": ""
},
"require": {
@@ -1744,7 +1746,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Translation/zipball/39ba7a5dc560959667c45c9353b70f43182ca4b3",
- "reference": "v2.1.11",
+ "reference": "39ba7a5dc560959667c45c9353b70f43182ca4b3",
"shasum": ""
},
"require": {
@@ -1794,7 +1796,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/e3a48a99971c35ad8d1c5bf36b6b3d22b15df306",
- "reference": "v2.1.11",
+ "reference": "e3a48a99971c35ad8d1c5bf36b6b3d22b15df306",
"shasum": ""
},
"require": {
@@ -1853,7 +1855,7 @@
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Validator/zipball/20e121114768672e0a90a25a378e5b14e1331ec0",
- "reference": "v2.1.11",
+ "reference": "20e121114768672e0a90a25a378e5b14e1331ec0",
"shasum": ""
},
"require": {
@@ -1943,7 +1945,7 @@
"dist": {
"type": "zip",
"url": "https://github.com/twbs/bootstrap/zipball/v2.0.4",
- "reference": null,
+ "reference": "master",
"shasum": null
},
"type": "library"
@@ -1958,7 +1960,7 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/afd3a08ad948e034b4ffdab23f53925538a91635",
+ "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/f5b0c84f3699e494c84ee627d7d583e115d2c4a2",
"reference": "f5b0c84f3699e494c84ee627d7d583e115d2c4a2",
"shasum": ""
},
@@ -2048,16 +2050,16 @@
"packages-dev": [
{
"name": "atoum/atoum",
- "version": "dev-master",
+ "version": "2.8.x-dev",
"source": {
"type": "git",
"url": "https://github.com/atoum/atoum.git",
- "reference": "c6cc7571750ec85c2141ff0dd36e1267e33a4ebf"
+ "reference": "04d4662268c68cfdb6ba2e942c1c14338d146cc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/atoum/atoum/zipball/c6cc7571750ec85c2141ff0dd36e1267e33a4ebf",
- "reference": "c6cc7571750ec85c2141ff0dd36e1267e33a4ebf",
+ "url": "https://api.github.com/repos/atoum/atoum/zipball/04d4662268c68cfdb6ba2e942c1c14338d146cc4",
+ "reference": "04d4662268c68cfdb6ba2e942c1c14338d146cc4",
"shasum": ""
},
"require": {
@@ -2124,15 +2126,67 @@
"test",
"unit testing"
],
- "time": "2016-03-02 18:57:26"
+ "time": "2016-07-01 11:18:40"
+ },
+ {
+ "name": "shulard/atoum-xml-extension",
+ "version": "v0.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/shulard/atoum-xml-extension.git",
+ "reference": "cda878292d4fd1599b81eae263d074e2d7cec167"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/shulard/atoum-xml-extension/zipball/cda878292d4fd1599b81eae263d074e2d7cec167",
+ "reference": "cda878292d4fd1599b81eae263d074e2d7cec167",
+ "shasum": ""
+ },
+ "require": {
+ "atoum/atoum": "^2.8"
+ },
+ "require-dev": {
+ "atoum/praspel-extension": "~0.16",
+ "squizlabs/php_codesniffer": "~2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "mageekguy\\atoum\\xml\\": "classes"
+ },
+ "files": [
+ "autoloader.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "apache-2"
+ ],
+ "authors": [
+ {
+ "name": "Stéphane HULARD",
+ "email": "s.hulard@chstudio.fr"
+ }
+ ],
+ "description": "The atoum xml extension allows you to make assertions on XML files",
+ "homepage": "http://www.atoum.org",
+ "keywords": [
+ "atoum",
+ "atoum-extension",
+ "extension",
+ "schema validation",
+ "test",
+ "unit testing",
+ "xml"
+ ],
+ "time": "2016-10-31 11:35:42"
}
],
"aliases": [],
"minimum-stability": "dev",
"stability-flags": {
"twig/extensions": 20,
- "michelf/php-markdown": 20,
- "atoum/atoum": 20
+ "michelf/php-markdown": 20
},
"prefer-stable": false,
"prefer-lowest": false,
diff --git a/src/Aperophp/Lib/FeedExporter.php b/src/Aperophp/Lib/FeedExporter.php
new file mode 100644
index 0000000..599f960
--- /dev/null
+++ b/src/Aperophp/Lib/FeedExporter.php
@@ -0,0 +1,85 @@
+createElement('feed');
+ $feed->setAttribute('xmlns', 'http://www.w3.org/2005/Atom');
+
+ $this
+ ->apppendNewChild($document, $feed, 'title', 'AperoPHP')
+ ->apppendNewChild($document, $feed, 'subtitle', 'Liste des apéro PHP à venir')
+ ->apppendNewChild($document, $feed, 'link', null, array('href' => 'http://aperophp.net'))
+ ->apppendNewChild($document, $feed, 'updated', $exportDate->format('c'))
+ ->appendChild($feed, ($author = $document->createElement('author')))
+ ->apppendNewChild($document, $author, 'name', 'AFUP')
+ ->apppendNewChild($document, $author, 'email', 'contact@afup.org')
+ ->apppendNewChild($document, $feed, 'id', 'http://aperophp.net/')
+ ;
+
+ foreach ($drinks as $drink) {
+ $url = sprintf("http://aperophp.net/%d/view.html", $drink['id']);
+ $title = sprintf('%s le %s', $drink['city_name'], (new \DateTime($drink['day']))->format('d/m/Y à H:i'));
+
+ $this
+ ->appendChild($feed, ($entry = $document->createElement('entry')))
+ ->apppendNewChild($document, $entry, 'title', $title)
+ ->apppendNewChild($document, $entry, 'id', $url)
+ ->apppendNewChild($document, $entry, 'link', null, array('href' => $url))
+ ->apppendNewChild($document, $entry, 'updated', (new \DateTime($drink['updated_at']))->format('c'))
+ ->apppendNewChild($document, $entry, 'summary', $drink['description'], array('type' => 'html'))
+ ;
+ }
+
+ $document->appendChild($feed);
+
+ return $document->saveXML();
+ }
+
+ /**
+ * @param \DOMDocument $document
+ * @param \DOMNode $node
+ * @param string $name
+ * @param string|null $value
+ * @param array $attributes
+ *
+ * @return $this
+ */
+ protected function apppendNewChild(\DOMDocument $document, \DOMNode $node, $name, $value = null, array $attributes = array())
+ {
+ $element = $document->createElement($name, $value);
+ foreach ($attributes as $attributeName => $attributeValue) {
+ $element->setAttribute($attributeName, $attributeValue);
+ }
+
+ $this->appendChild($node, $element);
+
+ return $this;
+ }
+
+ /**
+ * @param \DOMNode $parent
+ * @param \DOMNode $child
+ *
+ * @return $this
+ */
+ protected function appendChild(\DOMNode $parent, \DOMNode $child)
+ {
+ $parent->appendChild($child);
+
+ return $this;
+ }
+
+}
diff --git a/src/Aperophp/Provider/Controller/Drink.php b/src/Aperophp/Provider/Controller/Drink.php
index d1e1751..671c575 100644
--- a/src/Aperophp/Provider/Controller/Drink.php
+++ b/src/Aperophp/Provider/Controller/Drink.php
@@ -36,14 +36,17 @@ public function connect(Application $app)
// *******
$controllers->get('list.{format}', function($format) use ($app)
{
- $app['session']->set('menu', 'listdrinks');
-
- //TODO pagination
$drinks = $app['drinks']->findAll(25);
+ if ($format == 'html') {
+ //TODO pagination
+ $app['session']->set('menu', 'listdrinks');
+ return $app['twig']->render('drink/list.html.twig', array(
+ 'drinks' => $drinks
+ ));
+ }
- return $app['twig']->render('drink/list.'.$format.'.twig', array(
- 'drinks' => $drinks
- ));
+ $exporter = new \Aperophp\Lib\FeedExporter();
+ return $exporter->export($drinks);
})
->assert('format', 'html|atom')
->bind('_listdrinks');
diff --git a/src/Resources/views/drink/list.atom.twig b/src/Resources/views/drink/list.atom.twig
deleted file mode 100644
index ad16fe5..0000000
--- a/src/Resources/views/drink/list.atom.twig
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- AperoPHP
- Liste des apéroPHP à venir
-
- {{ "now"|date("c") }}
-
- AFUP
- contact@afup.org
-
- http://aperophp.net
-
-
-{% for drink in drinks %}
-
- {{ drink.city_name }} le {{ drink.day|date("l")|trans|lower }} {{ drink.day|date("d") }} {{ drink.day|date("F")|trans|lower }} {{ drink.day|date("Y") }} à {{ drink.day|date("H:i") }}
-
- {{ url('_showdrink', {'id': drink.id}) }}
- {{ drink.updated_at|date("c") }}
- {{ drink.description }}
-
-{% endfor %}
-
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
new file mode 100644
index 0000000..42e16e6
--- /dev/null
+++ b/tests/bootstrap.php
@@ -0,0 +1,3 @@
+
+
+
+
+ This version of the Atom schema is based on version 1.0 of the format specifications,
+ found here http://www.atomenabled.org/developers/syndication/atom-format-spec.php.
+
+
+
+
+
+ An Atom document may have two root elements, feed and entry, as defined in section 2.
+
+
+
+
+
+
+
+ The Atom text construct is defined in section 3.1 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Atom person construct is defined in section 3.2 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Schema definition for an email address.
+
+
+
+
+
+
+
+
+
+ The Atom feed construct is defined in section 4.1.1 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Atom entry construct is defined in section 4.1.2 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Atom content construct is defined in section 4.1.3 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+ The Atom cagegory construct is defined in section 4.2.2 of the format spec.
+
+
+
+
+
+
+
+
+
+
+ The Atom generator element is defined in section 4.2.4 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Atom icon construct is defined in section 4.2.5 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+ The Atom id construct is defined in section 4.2.6 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+ The Atom link construct is defined in section 3.4 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Atom logo construct is defined in section 4.2.8 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+ The Atom source construct is defined in section 4.2.11 of the format spec.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/units/Aperophp/Lib/FeedExporter.php b/tests/units/Aperophp/Lib/FeedExporter.php
new file mode 100644
index 0000000..5c47298
--- /dev/null
+++ b/tests/units/Aperophp/Lib/FeedExporter.php
@@ -0,0 +1,53 @@
+given($exporter = new TestedClass)
+ ->and(
+ $drink = array (
+ 'id' => '308',
+ 'place' => '11 Rue Terme',
+ 'address' => '11 Rue Terme, 69001 Lyon, France',
+ 'day' => '2013-10-29',
+ 'hour' => '19:00:00',
+ 'kind' => 'drink',
+ 'description' => 'Apéro PHP Lyonnais du mois d\'octobre.
+
+Plus d\'informations sur le blog de l\'AFUP Lyon : http://lyon.afup.org/2013/10/09/apero-php-mardi-29-octobre-a-19h/',
+ 'map' => NULL,
+ 'member_id' => '1096',
+ 'city_id' => '126',
+ 'latitude' => '45.769190',
+ 'longitude' => '4.831590',
+ 'meetup_com_id' => NULL,
+ 'meetup_com_event_url' => NULL,
+ 'created_at' => '2013-10-09 11:07:03',
+ 'updated_at' => '2013-10-09 11:22:30',
+ 'organizer_username' => 'agallou',
+ 'organizer_email' => 'user@gmail.com',
+ 'city_name' => 'Lyon',
+ 'participants_count' => '19',
+ )
+ )
+ ->then
+ ->xml($export = $exporter->export([$drink], new \DateTime("2016-12-25T13:42:23+01:00")))
+ ->isValidAgainstSchema->schema(__DIR__ . '/../../../resources/atom.xsd.xml')
+ ->string($export)
+ ->isEqualTo(<<
+AperoPHPListe des apéro PHP à venir2016-12-25T13:42:23+01:00AFUPcontact@afup.orghttp://aperophp.net/Lyon le 29/10/2013 à 00:00http://aperophp.net/308/view.html2013-10-09T11:22:30+02:00Apéro PHP Lyonnais du mois d'octobre.
+
+Plus d'informations sur le blog de l'AFUP Lyon : http://lyon.afup.org/2013/10/09/apero-php-mardi-29-octobre-a-19h/
+
+EOF
+ )
+ ;
+ }
+}
diff --git a/tests/units/Aperophp/Meetup/EventTransformer.php b/tests/units/Aperophp/Meetup/EventTransformer.php
index 3defbfe..0970f4a 100644
--- a/tests/units/Aperophp/Meetup/EventTransformer.php
+++ b/tests/units/Aperophp/Meetup/EventTransformer.php
@@ -2,8 +2,6 @@
namespace tests\units\Aperophp\Meetup;
-require_once __DIR__.'/../../../../vendor/autoload.php';
-
class EventTransformer extends \atoum
{
public function testTransform()
diff --git a/tests/units/Aperophp/Meetup/UserTransformer.php b/tests/units/Aperophp/Meetup/UserTransformer.php
index 7f7543d..1728ee3 100644
--- a/tests/units/Aperophp/Meetup/UserTransformer.php
+++ b/tests/units/Aperophp/Meetup/UserTransformer.php
@@ -2,8 +2,6 @@
namespace tests\units\Aperophp\Meetup;
-require_once __DIR__.'/../../../../vendor/autoload.php';
-
class UserTransformer extends \atoum
{
public function testHash()