Added test to cover HTML export re-write
Also altered video regex to be non-greedy to allow mulitple video matches in a single document
This commit is contained in:
parent
5bee25d651
commit
27954d6bc6
2 changed files with 24 additions and 1 deletions
|
@ -8,7 +8,7 @@ use BookStack\Repos\EntityRepo;
|
|||
class ExportService
|
||||
{
|
||||
|
||||
const VIDEO_REGEX = "/\<video.*\>\<source.*\ src\=(\")(.*?)(\").*?><\/video>/";
|
||||
const VIDEO_REGEX = "/\<video.*?\>\<source.*?\ src\=(\")(.*?)(\").*?><\/video>/";
|
||||
const YOUTUBE_REGEX = "/\<iframe.*src\=(\'|\")(\/\/www\.youtube\.com.*?)(\'|\").*?><\/iframe>/";
|
||||
const VIMEO_REGEX = "/\<iframe.*src\=(\'|\")(\/\/player\.vimeo\.com.*?)(\'|\").*?><\/iframe>/";
|
||||
const GOOGLE_MAP_REGEX = "/\<iframe.*src\=(\'|\")(\/\/maps\.google\.com.*?)(\'|\").*?><\/iframe>/";
|
||||
|
|
|
@ -112,4 +112,27 @@ class ExportTest extends TestCase
|
|||
$resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html');
|
||||
}
|
||||
|
||||
public function test_html_export_media_protocol_updated()
|
||||
{
|
||||
$page = Page::first();
|
||||
$page->html = '<p id="bkmrk-%C2%A0-0"> </p><p id="bkmrk-%C2%A0-1"><iframe src="//www.youtube.com/embed/LkFt_fp7FmE" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p><p id="bkmrk-"><iframe src="//player.vimeo.com/video/276396369?title=0&amp;byline=0" width="425" height="350" allowfullscreen="allowfullscreen"></iframe></p><p id="bkmrk--0"><iframe style="border: 0;" src="//maps.google.com/embed?testquery=true" width="600" height="450" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p><p id="bkmrk--1"><iframe src="//www.dailymotion.com/embed/video/x2rqgfm" width="480" height="432" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p><p id="bkmrk-%C2%A0-2"> </p>';
|
||||
$page->save();
|
||||
|
||||
$this->asEditor();
|
||||
$resp = $this->get($page->getUrl('/export/html'));
|
||||
$resp->assertStatus(200);
|
||||
|
||||
$checks = [
|
||||
'https://www.youtube.com/embed/LkFt_fp7FmE',
|
||||
'https://player.vimeo.com/video/276396369?title=0&amp;byline=0',
|
||||
'https://maps.google.com/embed?testquery=true',
|
||||
'https://www.dailymotion.com/embed/video/x2rqgfm',
|
||||
];
|
||||
|
||||
foreach ($checks as $check) {
|
||||
$resp->assertSee($check);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue