sonarrradarrplexorganizrnginxdashboardlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximux
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.4 KiB
76 lines
2.4 KiB
<?php
|
|
|
|
namespace Faker\Test\Provider;
|
|
|
|
use Faker\Provider\Image;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class ImageTest extends TestCase
|
|
{
|
|
public function testImageUrlUses640x680AsTheDefaultSize()
|
|
{
|
|
$this->assertRegExp('#^https://lorempixel.com/640/480/#', Image::imageUrl());
|
|
}
|
|
|
|
public function testImageUrlAcceptsCustomWidthAndHeight()
|
|
{
|
|
$this->assertRegExp('#^https://lorempixel.com/800/400/#', Image::imageUrl(800, 400));
|
|
}
|
|
|
|
public function testImageUrlAcceptsCustomCategory()
|
|
{
|
|
$this->assertRegExp('#^https://lorempixel.com/800/400/nature/#', Image::imageUrl(800, 400, 'nature'));
|
|
}
|
|
|
|
public function testImageUrlAcceptsCustomText()
|
|
{
|
|
$this->assertRegExp('#^https://lorempixel.com/800/400/nature/Faker#', Image::imageUrl(800, 400, 'nature', false, 'Faker'));
|
|
}
|
|
|
|
public function testImageUrlAddsARandomGetParameterByDefault()
|
|
{
|
|
$url = Image::imageUrl(800, 400);
|
|
$splitUrl = preg_split('/\?/', $url);
|
|
|
|
$this->assertEquals(count($splitUrl), 2);
|
|
$this->assertRegexp('#\d{5}#', $splitUrl[1]);
|
|
}
|
|
|
|
/**
|
|
* @expectedException \InvalidArgumentException
|
|
*/
|
|
public function testUrlWithDimensionsAndBadCategory()
|
|
{
|
|
Image::imageUrl(800, 400, 'bullhonky');
|
|
}
|
|
|
|
public function testDownloadWithDefaults()
|
|
{
|
|
$url = "http://lorempixel.com/";
|
|
$curlPing = curl_init($url);
|
|
curl_setopt($curlPing, CURLOPT_TIMEOUT, 5);
|
|
curl_setopt($curlPing, CURLOPT_CONNECTTIMEOUT, 5);
|
|
curl_setopt($curlPing, CURLOPT_RETURNTRANSFER, true);
|
|
$data = curl_exec($curlPing);
|
|
$httpCode = curl_getinfo($curlPing, CURLINFO_HTTP_CODE);
|
|
curl_close($curlPing);
|
|
|
|
if ($httpCode < 200 | $httpCode > 300) {
|
|
$this->markTestSkipped("LoremPixel is offline, skipping image download");
|
|
}
|
|
|
|
$file = Image::image(sys_get_temp_dir());
|
|
$this->assertFileExists($file);
|
|
if (function_exists('getimagesize')) {
|
|
list($width, $height, $type, $attr) = getimagesize($file);
|
|
$this->assertEquals(640, $width);
|
|
$this->assertEquals(480, $height);
|
|
$this->assertEquals(constant('IMAGETYPE_JPEG'), $type);
|
|
} else {
|
|
$this->assertEquals('jpg', pathinfo($file, PATHINFO_EXTENSION));
|
|
}
|
|
if (file_exists($file)) {
|
|
unlink($file);
|
|
}
|
|
}
|
|
}
|
|
|