mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
ENH Test for Requirements_Backend::resolveCSSReferences()
This commit is contained in:
parent
c5e68dd2c0
commit
8370ffc2a0
@ -77,6 +77,76 @@ class RequirementsTest extends SapphireTest
|
|||||||
$this->assertStringContainsString('http://www.mydomain.com:3000/test.css', $html, 'Load external with port');
|
$this->assertStringContainsString('http://www.mydomain.com:3000/test.css', $html, 'Load external with port');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testResolveCSSReferences()
|
||||||
|
{
|
||||||
|
/** @var Requirements_Backend $backend */
|
||||||
|
$backend = Injector::inst()->create(Requirements_Backend::class);
|
||||||
|
$this->setupRequirements($backend);
|
||||||
|
$backend->setCombinedFilesFolder('_combinedfiles');
|
||||||
|
|
||||||
|
$backend->combineFiles(
|
||||||
|
'RequirementsTest_pc.css',
|
||||||
|
[
|
||||||
|
'css/RequirementsTest_d.css',
|
||||||
|
'css/deep/deeper/RequirementsTest_p.css'
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
$backend->includeInHTML(self::$html_template);
|
||||||
|
|
||||||
|
// we get the file path here
|
||||||
|
$allCSS = $backend->getCSS();
|
||||||
|
$this->assertTrue(count($allCSS) == 1, 'only one combined file');
|
||||||
|
$files = array_keys($allCSS);
|
||||||
|
$combinedFileName = $files[0];
|
||||||
|
$combinedFileName = str_replace('/' . ASSETS_DIR . '/', '/', $combinedFileName);
|
||||||
|
|
||||||
|
$combinedFilePath = TestAssetStore::base_path() . $combinedFileName;
|
||||||
|
|
||||||
|
/* COMBINED JAVASCRIPT FILE EXISTS */
|
||||||
|
$this->assertTrue(
|
||||||
|
file_exists($combinedFilePath),
|
||||||
|
'combined css file exists'
|
||||||
|
);
|
||||||
|
|
||||||
|
$content = file_get_contents($combinedFilePath);
|
||||||
|
|
||||||
|
/* COMBINED CSS DECODED ONE DOT OKAY */
|
||||||
|
$this->assertStringContainsString(
|
||||||
|
".p0 { background: url(/css/deep/deeper/zero.gif); }",
|
||||||
|
$content,
|
||||||
|
'combined css decoded one dot okay'
|
||||||
|
);
|
||||||
|
|
||||||
|
/* COMBINED CSS DECODED ONE DOUBLE-DOT OKAY */
|
||||||
|
$this->assertStringContainsString(
|
||||||
|
".p1 { background: url(/css/deep/one.gif); }",
|
||||||
|
$content,
|
||||||
|
'combined css decoded 1 double-dot okay'
|
||||||
|
);
|
||||||
|
|
||||||
|
/* COMBINED CSS DECODED 2 DOUBLE-DOT OKAY */
|
||||||
|
$this->assertStringContainsString(
|
||||||
|
".p2 { background: url(/css/two.gif); }",
|
||||||
|
$content,
|
||||||
|
'combined css decoded 2 double-dot okay'
|
||||||
|
);
|
||||||
|
|
||||||
|
/* COMBINED CSS DECODED 3 DOUBLE-DOT OKAY */
|
||||||
|
$this->assertStringContainsString(
|
||||||
|
".p3 { background: url(/three.gif); }",
|
||||||
|
$content,
|
||||||
|
'combined css decoded 3 double-dot okay'
|
||||||
|
);
|
||||||
|
|
||||||
|
/* COMBINED CSS DECODED 4 DOUBLE-DOT OKAY */
|
||||||
|
$this->assertStringContainsString(
|
||||||
|
".p4 { background: url(/../four.gif); }",
|
||||||
|
$content,
|
||||||
|
'combined css decoded 4 double-dot okay'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup new backend
|
* Setup new backend
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
.p0 { background: url(./zero.gif); }
|
||||||
|
.p1 { background: url(../one.gif); }
|
||||||
|
.p2 { background: url(../../two.gif); }
|
||||||
|
.p3 { background: url(../../../three.gif); }
|
||||||
|
.p4 { background: url(../../../../four.gif); }
|
Loading…
Reference in New Issue
Block a user