public function testRecursionLimiting()
 {
     $manager = new Manager();
     // Should limit to 10 by default
     $manager->parseIncludes('a.b.c.d.e.f.g.h.i.j.NEVER');
     $this->assertEquals(array('a', 'a.b', 'a.b.c', 'a.b.c.d', 'a.b.c.d.e', 'a.b.c.d.e.f', 'a.b.c.d.e.f.g', 'a.b.c.d.e.f.g.h', 'a.b.c.d.e.f.g.h.i', 'a.b.c.d.e.f.g.h.i.j'), $manager->getRequestedIncludes());
     // Try setting to 3 and see what happens
     $manager->setRecursionLimit(3);
     $manager->parseIncludes('a.b.c.NEVER');
     $this->assertEquals(array('a', 'a.b', 'a.b.c'), $manager->getRequestedIncludes());
 }
Example #2
0
 /**
  * Getter for FractalManager instance.
  *
  * @return Manager
  */
 public function getFractalManager()
 {
     if (!$this->_fractalManager) {
         $manager = new Manager();
         $serializer = $this->config('serializer');
         $manager->setSerializer(new $serializer($this->config('baseUrl') ?: Router::fullBaseUrl()));
         $manager->parseIncludes((array) $this->request->query('include'));
         $manager->setRecursionLimit($this->config('recursionLimit'));
         $this->_fractalManager = $manager;
     }
     return $this->_fractalManager;
 }
 /**
  * set data transformation recursion limit
  * @param $limit
  * @return $this
  */
 public function setRecursionLimit($limit)
 {
     $this->manager->setRecursionLimit($limit);
     return $this;
 }