MDL-75475 lib: Upgraded PHP CSS Parser to 8.4.0

This commit is contained in:
David Woloszyn
2022-10-20 09:32:47 +11:00
parent f8d28e4ca6
commit c8ee3c9051
40 changed files with 5244 additions and 3086 deletions
+110 -47
View File
@@ -2,65 +2,128 @@
namespace Sabberworm\CSS\Property;
use Sabberworm\CSS\Comment\Comment;
use Sabberworm\CSS\OutputFormat;
/**
* Class representing an @charset rule.
* Class representing an `@charset` rule.
*
* The following restrictions apply:
* • May not be found in any CSSList other than the Document.
* • May only appear at the very top of a Document’s contents.
* • Must not appear more than once.
* - May not be found in any CSSList other than the Document.
* - May only appear at the very top of a Document’s contents.
* - Must not appear more than once.
*/
class Charset implements AtRule {
class Charset implements AtRule
{
/**
* @var string
*/
private $sCharset;
private $sCharset;
protected $iLineNo;
protected $aComment;
/**
* @var int
*/
protected $iLineNo;
public function __construct($sCharset, $iLineNo = 0) {
$this->sCharset = $sCharset;
$this->iLineNo = $iLineNo;
$this->aComments = array();
}
/**
* @var array<array-key, Comment>
*/
protected $aComments;
/**
* @return int
*/
public function getLineNo() {
return $this->iLineNo;
}
/**
* @param string $sCharset
* @param int $iLineNo
*/
public function __construct($sCharset, $iLineNo = 0)
{
$this->sCharset = $sCharset;
$this->iLineNo = $iLineNo;
$this->aComments = [];
}
public function setCharset($sCharset) {
$this->sCharset = $sCharset;
}
/**
* @return int
*/
public function getLineNo()
{
return $this->iLineNo;
}
public function getCharset() {
return $this->sCharset;
}
/**
* @param string $sCharset
*
* @return void
*/
public function setCharset($sCharset)
{
$this->sCharset = $sCharset;
}
public function __toString() {
return $this->render(new \Sabberworm\CSS\OutputFormat());
}
/**
* @return string
*/
public function getCharset()
{
return $this->sCharset;
}
public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
return "@charset {$this->sCharset->render($oOutputFormat)};";
}
/**
* @return string
*/
public function __toString()
{
return $this->render(new OutputFormat());
}
public function atRuleName() {
return 'charset';
}
/**
* @return string
*/
public function render(OutputFormat $oOutputFormat)
{
return "@charset {$this->sCharset->render($oOutputFormat)};";
}
public function atRuleArgs() {
return $this->sCharset;
}
/**
* @return string
*/
public function atRuleName()
{
return 'charset';
}
public function addComments(array $aComments) {
$this->aComments = array_merge($this->aComments, $aComments);
}
/**
* @return string
*/
public function atRuleArgs()
{
return $this->sCharset;
}
public function getComments() {
return $this->aComments;
}
/**
* @param array<array-key, Comment> $aComments
*
* @return void
*/
public function addComments(array $aComments)
{
$this->aComments = array_merge($this->aComments, $aComments);
}
public function setComments(array $aComments) {
$this->aComments = $aComments;
}
}
/**
* @return array<array-key, Comment>
*/
public function getComments()
{
return $this->aComments;
}
/**
* @param array<array-key, Comment> $aComments
*
* @return void
*/
public function setComments(array $aComments)
{
$this->aComments = $aComments;
}
}