mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
ENHANCEMENT: add test to Oembed
This commit is contained in:
parent
32817b4133
commit
5b845248ed
@ -203,6 +203,10 @@ class Oembed_Result extends ViewableData {
|
|||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getOembedURL() {
|
||||||
|
return $this->url;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetches the JSON data from the Oembed URL (cached).
|
* Fetches the JSON data from the Oembed URL (cached).
|
||||||
* Only sets the internal variable.
|
* Only sets the internal variable.
|
||||||
|
33
tests/oembed/OembedTest.php
Normal file
33
tests/oembed/OembedTest.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class OembedTest extends SapphireTest {
|
||||||
|
function testGetOembedFromUrl() {
|
||||||
|
Config::inst()->update('Oembed', 'providers', array(
|
||||||
|
'http://*.silverstripe.com/watch*'=>'http://www.silverstripe.com/oembed/'
|
||||||
|
));
|
||||||
|
$escapedEndpointURL = urlencode("http://www.silverstripe.com/oembed/");
|
||||||
|
|
||||||
|
// Test with valid URL
|
||||||
|
$result = Oembed::get_oembed_from_url('http://www.silverstripe.com/watch12345');
|
||||||
|
$this->assertTrue($result!=false);
|
||||||
|
$this->assertEquals($result->getOembedURL(), 'http://www.silverstripe.com/oembed/?format=json&url='.urlencode('http://www.silverstripe.com/watch12345'), 'Triggers on matching URL');
|
||||||
|
|
||||||
|
// Test without www.
|
||||||
|
$result = Oembed::get_oembed_from_url('http://silverstripe.com/watch12345');
|
||||||
|
$this->assertTrue($result!=false);
|
||||||
|
$this->assertEquals($result->getOembedURL(), 'http://www.silverstripe.com/oembed/?format=json&url='.urlencode('http://silverstripe.com/watch12345'), 'Triggers on matching URL without www');
|
||||||
|
|
||||||
|
// Test if options make their way to the URL
|
||||||
|
$result = Oembed::get_oembed_from_url('http://www.silverstripe.com/watch12345', false, array('foo'=>'bar'));
|
||||||
|
$this->assertTrue($result!=false);
|
||||||
|
$this->assertEquals($result->getOembedURL(), 'http://www.silverstripe.com/oembed/?format=json&url='.urlencode('http://www.silverstripe.com/watch12345').'&foo=bar', 'Includes options');
|
||||||
|
|
||||||
|
// Test magic.
|
||||||
|
$result = Oembed::get_oembed_from_url('http://www.silverstripe.com/watch12345', false, array('height'=>'foo', 'width'=>'bar'));
|
||||||
|
$this->assertTrue($result!=false);
|
||||||
|
$urlParts = parse_url($result->getOembedURL());
|
||||||
|
parse_str($urlParts['query'], $query);
|
||||||
|
$this->assertEquals($query['maxheight'], 'foo', 'Magically creates maxheight option');
|
||||||
|
$this->assertEquals($query['maxwidth'], 'bar', 'Magically creates maxwidth option');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user