public function testApplyToCollectionPaginationDisabled()
 {
     /** @var ObjectProphecy|Request $requestMock */
     $requestMock = $this->prophesize('Symfony\\Component\\HttpFoundation\\Request');
     /* @see PaginationExtension::applyToCollection */
     $this->requestStackMock->getCurrentRequest()->willReturn($requestMock->reveal())->shouldBeCalledTimes(1);
     /* @see PaginationExtension::isPaginationEnabled */
     $this->resourceMock->getEnablePaginationParameter()->willReturn('enablePagination')->shouldBeCalledTimes(1);
     $requestMock->get('enablePagination')->willReturn('true')->shouldBeCalledTimes(1);
     $this->resourceMock->isClientAllowedToEnablePagination()->willReturn(false)->shouldBeCalledTimes(1);
     $this->resourceMock->isPaginationEnabledByDefault()->willReturn(false)->shouldBeCalledTimes(1);
     /* @see PaginationExtension::getItemsPerPage */
     $this->resourceMock->isClientAllowedToChangeItemsPerPage()->shouldNotBeCalled();
     $this->resourceMock->getItemsPerPageParameter()->shouldNotBeCalled();
     $requestMock->get('itemsPerPage')->shouldNotBeCalled();
     /* @see PaginationExtension::getPage */
     $this->resourceMock->getPageParameter()->shouldNotBeCalled();
     $requestMock->get('page', 1)->shouldNotBeCalled();
     /* @see PaginationExtension::applyToCollection */
     $this->queryBuilderMock->setFirstResult(Argument::any())->shouldNotBeCalled();
     $this->queryBuilderMock->setMaxResults(Argument::any())->shouldNotBeCalled();
     $extension = new PaginationExtension($this->managerRegistryMock->reveal(), $this->requestStackMock->reveal());
     $extension->applyToCollection($this->resourceMock->reveal(), $this->queryBuilderMock->reveal());
 }
 /**
  * Gets the current page.
  *
  * @param ResourceInterface $resource
  * @param Request           $request
  *
  * @return float
  */
 private function getPage(ResourceInterface $resource, Request $request)
 {
     return (double) $request->get($resource->getPageParameter(), 1.0);
 }
 /**
  * Gets a collection URL for the given page.
  *
  * @param ResourceInterface $resource
  * @param array             $parts
  * @param array             $parameters
  * @param float             $page
  *
  * @return string
  */
 private function getPageUrl(ResourceInterface $resource, array $parts, array $parameters, $page)
 {
     if (1.0 !== $page) {
         $parameters[$resource->getPageParameter()] = $page;
     }
     $query = http_build_query($parameters, '', '&', PHP_QUERY_RFC3986);
     $parts['query'] = preg_replace('/%5B[0-9]+%5D/', '%5B%5D', $query);
     $url = $parts['path'];
     if ('' !== $parts['query']) {
         $url .= '?' . $parts['query'];
     }
     return $url;
 }