Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
TokenList
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 toTokenArray
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 toComponentValueArray
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2declare( strict_types = 1 );
3
4/**
5 * @file
6 * @license https://opensource.org/licenses/Apache-2.0 Apache-2.0
7 */
8
9namespace Wikimedia\CSS\Objects;
10
11use Wikimedia\CSS\Exception\ParseException;
12use Wikimedia\CSS\Parser\Parser;
13
14/**
15 * Represent a list of CSS tokens
16 * @extends CSSObjectList<Token>
17 */
18class TokenList extends CSSObjectList {
19    /**
20     * @var string
21     */
22    protected static $objectType = Token::class;
23
24    /** @var Token[] The objects contained */
25    protected $objects;
26
27    /** @inheritDoc */
28    public function toTokenArray() {
29        // We can greatly simplify this, assuming no separator
30        return $this->objects;
31    }
32
33    /** @inheritDoc */
34    public function toComponentValueArray() {
35        // This one, though, is complicated
36        $parser = Parser::newFromTokens( $this->objects );
37        $ret = $parser->parseComponentValueList();
38        if ( $parser->getParseErrors() ) {
39            $ex = new ParseException( 'TokenList cannot be converted to a ComponentValueList' );
40            $ex->parseErrors = $parser->getParseErrors();
41            throw $ex;
42        }
43        return $ret->toComponentValueArray();
44    }
45}