Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
XPathExpr example
$parser
=
new
Parser
(
)
;
$xpath
=
$parser
->
parse
(
'*'
)
[
0
]
;
$combinedXpath
=
$parser
->
parse
(
'*'
)
[
0
]
;
$translator
->
addCombination
(
'fake',
$xpath
,
$combinedXpath
)
;
}
public
function
testAddFunctionNotExistsFunction
(
)
{
$this
->
expectException
(
ExpressionErrorException::
class
)
;
$translator
=
new
Translator
(
)
;
$translator
->
registerExtension
(
new
HtmlExtension
(
$translator
)
)
;
$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'
)
;
}
$safe
=
$this
->
isSafeName
(
$element
)
;
}
else
{
$element
= '*';
$safe
= true;
}
if
(
$node
->
getNamespace
(
)
)
{
$element
=
sprintf
(
'%s:%s',
$node
->
getNamespace
(
)
,
$element
)
;
$safe
=
$safe
&&
$this
->
isSafeName
(
$node
->
getNamespace
(
)
)
;
}
$xpath
=
new
XPathExpr
(
'',
$element
)
;
if
(
!
$safe
)
{
$xpath
->
addNameTest
(
)
;
}
return
$xpath
;
}
public
function
getName
(
)
: string
{
return
'node';
}