Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getNextIdentifier example
$this
->
assertSame
(
$t1
,
$stream
->
getNext
(
)
)
;
$this
->
assertSame
(
$t2
,
$stream
->
getPeek
(
)
)
;
$this
->
assertSame
(
$t2
,
$stream
->
getPeek
(
)
)
;
$this
->
assertSame
(
$t2
,
$stream
->
getNext
(
)
)
;
}
public
function
testGetNextIdentifier
(
)
{
$stream
=
new
TokenStream
(
)
;
$stream
->
push
(
new
Token
(
Token::TYPE_IDENTIFIER, 'h1', 0
)
)
;
$this
->
assertEquals
(
'h1',
$stream
->
getNextIdentifier
(
)
)
;
}
public
function
testFailToGetNextIdentifier
(
)
{
$this
->
expectException
(
SyntaxErrorException::
class
)
;
$stream
=
new
TokenStream
(
)
;
$stream
->
push
(
new
Token
(
Token::TYPE_DELIMITER, '.', 2
)
)
;
$stream
->
getNextIdentifier
(
)
;
}
break
;
}
if
(
null !==
$pseudoElement
)
{
throw
SyntaxErrorException::
pseudoElementFound
(
$pseudoElement
, 'not at the end of a selector'
)
;
}
if
(
$peek
->
isHash
(
)
)
{
$result
=
new
Node\
HashNode
(
$result
,
$stream
->
getNext
(
)
->
getValue
(
)
)
;
}
elseif
(
$peek
->
isDelimiter
(
[
'.'
]
)
)
{
$stream
->
getNext
(
)
;
$result
=
new
Node\
ClassNode
(
$result
,
$stream
->
getNextIdentifier
(
)
)
;
}
elseif
(
$peek
->
isDelimiter
(
[
'['
]
)
)
{
$stream
->
getNext
(
)
;
$result
=
$this
->
parseAttributeNode
(
$result
,
$stream
)
;
}
elseif
(
$peek
->
isDelimiter
(
[
':'
]
)
)
{
$stream
->
getNext
(
)
;
if
(
$stream
->
getPeek
(
)
->
isDelimiter
(
[
':'
]
)
)
{
$stream
->
getNext
(
)
;
$pseudoElement
=
$stream
->
getNextIdentifier
(
)
;
continue
;
}