Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
addPseudoClass example
public
function
translateFunction
(
Node\FunctionNode
$node
, Translator
$translator
)
: XPathExpr
{
$xpath
=
$translator
->
nodeToXPath
(
$node
->
getSelector
(
)
)
;
return
$translator
->
addFunction
(
$xpath
,
$node
)
;
}
public
function
translatePseudo
(
Node\PseudoNode
$node
, Translator
$translator
)
: XPathExpr
{
$xpath
=
$translator
->
nodeToXPath
(
$node
->
getSelector
(
)
)
;
return
$translator
->
addPseudoClass
(
$xpath
,
$node
->
getIdentifier
(
)
)
;
}
public
function
translateAttribute
(
Node\AttributeNode
$node
, Translator
$translator
)
: XPathExpr
{
$name
=
$node
->
getAttribute
(
)
;
$safe
=
$this
->
isSafeName
(
$name
)
;
if
(
$this
->
hasFlag
(
self::ATTRIBUTE_NAME_IN_LOWER_CASE
)
)
{
$name
=
strtolower
(
$name
)
;
}
$xpath
=
new
XPathExpr
(
)
;
$function
=
new
FunctionNode
(
new
ElementNode
(
)
, 'fake'
)
;
$translator
->
addFunction
(
$xpath
,
$function
)
;
}
public
function
testAddPseudoClassNotExistsClass
(
)
{
$this
->
expectException
(
ExpressionErrorException::
class
)
;
$translator
=
new
Translator
(
)
;
$translator
->
registerExtension
(
new
HtmlExtension
(
$translator
)
)
;
$xpath
=
new
XPathExpr
(
)
;
$translator
->
addPseudoClass
(
$xpath
, 'fake'
)
;
}
public
function
testAddAttributeMatchingClassNotExistsClass
(
)
{
$this
->
expectException
(
ExpressionErrorException::
class
)
;
$translator
=
new
Translator
(
)
;
$translator
->
registerExtension
(
new
HtmlExtension
(
$translator
)
)
;
$xpath
=
new
XPathExpr
(
)
;
$translator
->
addAttributeMatching
(
$xpath
, '', '', ''
)
;
}