]);
}
- if (!is_null($data['isArchived'])) {
+ if (null !== $data['isArchived']) {
$entry->setArchived((bool) $data['isArchived']);
}
- if (!is_null($data['isStarred'])) {
+ if (null !== $data['isStarred']) {
$entry->setStarred((bool) $data['isStarred']);
}
$this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $data['tags']);
}
- if (!is_null($data['isPublic'])) {
+ if (null !== $data['isPublic']) {
if (true === (bool) $data['isPublic'] && null === $entry->getUid()) {
$entry->generateUid();
} elseif (false === (bool) $data['isPublic']) {
$contentProxy->updatePublishedAt($entry, $data['publishedAt']);
}
- if (!is_null($data['isArchived'])) {
+ if (null !== $data['isArchived']) {
$entry->setArchived((bool) $data['isArchived']);
}
- if (!is_null($data['isStarred'])) {
+ if (null !== $data['isStarred']) {
$entry->setStarred((bool) $data['isStarred']);
}
$this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $data['tags']);
}
- if (!is_null($data['isPublic'])) {
+ if (null !== $data['isPublic']) {
if (true === (bool) $data['isPublic'] && null === $entry->getUid()) {
$entry->generateUid();
} elseif (false === (bool) $data['isPublic']) {
$this->stockEntry($entry, $content);
}
+ /**
+ * Use a Symfony validator to ensure the language is well formatted.
+ *
+ * @param Entry $entry
+ * @param string $value Language to validate and save
+ */
+ public function updateLanguage(Entry $entry, $value)
+ {
+ // some lang are defined as fr-FR, es-ES.
+ // replacing - by _ might increase language support
+ $value = str_replace('-', '_', $value);
+
+ $errors = $this->validator->validate(
+ $value,
+ (new LocaleConstraint())
+ );
+
+ if (0 === count($errors)) {
+ $entry->setLanguage($value);
+
+ return;
+ }
+
+ $this->logger->warning('Language validation failed. ' . (string) $errors);
+ }
+
+ /**
+ * Use a Symfony validator to ensure the preview picture is a real url.
+ *
+ * @param Entry $entry
+ * @param string $value URL to validate and save
+ */
+ public function updatePreviewPicture(Entry $entry, $value)
+ {
+ $errors = $this->validator->validate(
+ $value,
+ (new UrlConstraint())
+ );
+
+ if (0 === count($errors)) {
+ $entry->setPreviewPicture($value);
+
+ return;
+ }
+
+ $this->logger->warning('PreviewPicture validation failed. ' . (string) $errors);
+ }
+
+ /**
+ * Update date.
+ *
+ * @param Entry $entry
+ * @param string $value Date to validate and save
+ */
+ public function updatePublishedAt(Entry $entry, $value)
+ {
+ $date = $value;
+
+ // is it a timestamp?
+ if (filter_var($date, FILTER_VALIDATE_INT) !== false) {
+ $date = '@' . $value;
+ }
+
+ try {
+ $entry->setPublishedAt(new \DateTime($date));
+ } catch (\Exception $e) {
+ $this->logger->warning('Error while defining date', ['e' => $e, 'url' => $entry->getUrl(), 'date' => $value]);
+ }
+ }
+
/**
* Stock entry with fetched or imported content.
* Will fall back to OpenGraph data if available.
{
return !empty($content['title']) && !empty($content['html']) && !empty($content['url']);
}
-
- /**
- * Use a Symfony validator to ensure the language is well formatted.
- *
- * @param Entry $entry
- * @param string $value Language to validate and save
- */
- public function updateLanguage(Entry $entry, $value)
- {
- // some lang are defined as fr-FR, es-ES.
- // replacing - by _ might increase language support
- $value = str_replace('-', '_', $value);
-
- $errors = $this->validator->validate(
- $value,
- (new LocaleConstraint())
- );
-
- if (0 === count($errors)) {
- $entry->setLanguage($value);
-
- return;
- }
-
- $this->logger->warning('Language validation failed. ' . (string) $errors);
- }
-
- /**
- * Use a Symfony validator to ensure the preview picture is a real url.
- *
- * @param Entry $entry
- * @param string $value URL to validate and save
- */
- public function updatePreviewPicture(Entry $entry, $value)
- {
- $errors = $this->validator->validate(
- $value,
- (new UrlConstraint())
- );
-
- if (0 === count($errors)) {
- $entry->setPreviewPicture($value);
-
- return;
- }
-
- $this->logger->warning('PreviewPicture validation failed. ' . (string) $errors);
- }
-
- /**
- * Update date.
- *
- * @param Entry $entry
- * @param string $value Date to validate and save
- */
- public function updatePublishedAt(Entry $entry, $value)
- {
- $date = $value;
-
- // is it a timestamp?
- if (filter_var($date, FILTER_VALIDATE_INT) !== false) {
- $date = '@'.$value;
- }
-
- try {
- $entry->setPublishedAt(new \DateTime($date));
- } catch (\Exception $e) {
- $this->logger->warning('Error while defining date', ['e' => $e, 'url' => $entry->getUrl(), 'date' => $value]);
- }
- }
}
$this->markTestSkipped('No content found in db.');
}
- $this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', [
+ $this->client->request('PATCH', '/api/entries/' . $entry->getId() . '.json', [
'title' => 'New awesome title',
'tags' => 'new tag ' . uniqid(),
'starred' => '1',
$this->assertSame($entry->getId(), $content['id']);
$this->assertSame($entry->getUrl(), $content['url']);
$this->assertGreaterThanOrEqual(1, count($content['tags']), 'We force only one tag');
- $this->assertGreaterThan($nbTags, count($content['tags']));
$this->assertEmpty($content['published_by'], 'Authors were not saved because of an array instead of a string');
- $this->assertEquals($previousContent, $content['content'], 'Ensure content has not moved');
- $this->assertEquals($previousLanguage, $content['language'], 'Ensure language has not moved');
+ $this->assertSame($previousContent, $content['content'], 'Ensure content has not moved');
+ $this->assertSame($previousLanguage, $content['language'], 'Ensure language has not moved');
}
public function testGetTagsEntry()
$previousTitle = $entry->getTitle();
- $this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', [
- 'title' => $entry->getTitle().'++',
+ $this->client->request('PATCH', '/api/entries/' . $entry->getId() . '.json', [
+ 'title' => $entry->getTitle() . '++',
]);
$this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
$this->assertSame(1, $content['is_archived']);
- $this->assertEquals($previousTitle.'++', $content['title']);
+ $this->assertSame($previousTitle . '++', $content['title']);
}
public function testSaveIsStarredAfterPatch()
public function testPostEntriesTagsListActionNoList()
{
- $this->client->request('POST', '/api/entries/tags/lists?list='.json_encode([]));
+ $this->client->request('POST', '/api/entries/tags/lists?list=' . json_encode([]));
- $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
public function testDeleteEntriesTagsListActionNoList()
{
- $this->client->request('DELETE', '/api/entries/tags/list?list='.json_encode([]));
+ $this->client->request('DELETE', '/api/entries/tags/list?list=' . json_encode([]));
- $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
public function testPostEntriesListActionWithNoUrls()
{
- $this->client->request('POST', '/api/entries/lists?urls='.json_encode([]));
+ $this->client->request('POST', '/api/entries/lists?urls=' . json_encode([]));
- $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
public function testDeleteEntriesListActionWithNoUrls()
{
- $this->client->request('DELETE', '/api/entries/list?urls='.json_encode([]));
+ $this->client->request('DELETE', '/api/entries/list?urls=' . json_encode([]));
- $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
+ $this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
$entry = new Entry(new User());
$proxy->updateEntry($entry, 'http://0.0.0.0');
- $this->assertEquals('http://1.1.1.1/image.jpg', $entry->getUrl());
- $this->assertEquals('this is my title', $entry->getTitle());
+ $this->assertSame('http://1.1.1.1/image.jpg', $entry->getUrl());
+ $this->assertSame('this is my title', $entry->getTitle());
$this->assertContains('http://1.1.1.1/image.jpg', $entry->getContent());
$this->assertSame('http://1.1.1.1/image.jpg', $entry->getPreviewPicture());
- $this->assertEquals('image/jpeg', $entry->getMimetype());
- $this->assertEquals('200', $entry->getHttpStatus());
- $this->assertEquals('1.1.1.1', $entry->getDomainName());
+ $this->assertSame('image/jpeg', $entry->getMimetype());
+ $this->assertSame('200', $entry->getHttpStatus());
+ $this->assertSame('1.1.1.1', $entry->getDomainName());
}
private function getTaggerMock()