1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-08-01 17:38:38 +00:00

Displays an error with an annotation with a too long quote

Fix #2762
This commit is contained in:
adev 2017-05-07 17:21:30 +02:00
parent a687c8d915
commit 2c3e148b00
23 changed files with 272 additions and 28 deletions

View file

@ -84,7 +84,9 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
$content = json_encode([
'text' => 'my annotation',
'quote' => 'my quote',
'ranges' => ['start' => '', 'startOffset' => 24, 'end' => '', 'endOffset' => 31],
'ranges' => [
['start' => '', 'startOffset' => 24, 'end' => '', 'endOffset' => 31]
],
]);
$this->client->request('POST', $prefixUrl.'/'.$entry->getId().'.json', [], [], $headers, $content);
@ -106,6 +108,36 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
$this->assertEquals('my annotation', $annotation->getText());
}
/**
* @dataProvider dataForEachAnnotations
*/
public function testSetAnnotationWithQuoteTooLong($prefixUrl)
{
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
if ('annotations' === $prefixUrl) {
$this->logInAs('admin');
}
/** @var Entry $entry */
$entry = $em
->getRepository('WallabagCoreBundle:Entry')
->findOneByUsernameAndNotArchived('admin');
$longQuote = str_repeat('a', 10001);
$headers = ['CONTENT_TYPE' => 'application/json'];
$content = json_encode([
'text' => 'my annotation',
'quote' => $longQuote,
'ranges' => [
['start' => '', 'startOffset' => 24, 'end' => '', 'endOffset' => 31]
],
]);
$this->client->request('POST', $prefixUrl.'/'.$entry->getId().'.json', [], [], $headers, $content);
$this->assertEquals(400, $this->client->getResponse()->getStatusCode());
}
/**
* Test editing an existing annotation.
*