• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MyIntervals / PHP-CSS-Parser / 13888689221

17 Mar 2025 12:01AM UTC coverage: 56.87% (+0.9%) from 55.929%
13888689221

push

github

web-flow
[TASK] Remove `__toString()` (#1046)

Closes #998

1043 of 1834 relevant lines covered (56.87%)

12.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Property/Import.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace Sabberworm\CSS\Property;
6

7
use Sabberworm\CSS\Comment\Comment;
8
use Sabberworm\CSS\OutputFormat;
9
use Sabberworm\CSS\Value\URL;
10

11
/**
12
 * Class representing an `@import` rule.
13
 */
14
class Import implements AtRule
15
{
16
    /**
17
     * @var URL
18
     */
19
    private $location;
20

21
    /**
22
     * @var string|null
23
     */
24
    private $mediaQuery;
25

26
    /**
27
     * @var int<0, max>
28
     *
29
     * @internal since 8.8.0
30
     */
31
    protected $lineNumber;
32

33
    /**
34
     * @var list<Comment>
35
     *
36
     * @internal since 8.8.0
37
     */
38
    protected $comments = [];
39

40
    /**
41
     * @param int<0, max> $lineNumber
42
     */
43
    public function __construct(URL $location, ?string $mediaQuery, int $lineNumber = 0)
×
44
    {
45
        $this->location = $location;
×
46
        $this->mediaQuery = $mediaQuery;
×
47
        $this->lineNumber = $lineNumber;
×
48
    }
×
49

50
    /**
51
     * @return int<0, max>
52
     */
53
    public function getLineNo(): int
×
54
    {
55
        return $this->lineNumber;
×
56
    }
57

58
    public function setLocation(URL $location): void
×
59
    {
60
        $this->location = $location;
×
61
    }
×
62

63
    public function getLocation(): URL
×
64
    {
65
        return $this->location;
×
66
    }
67

68
    public function render(OutputFormat $outputFormat): string
×
69
    {
70
        return $outputFormat->getFormatter()->comments($this) . '@import ' . $this->location->render($outputFormat)
×
71
            . ($this->mediaQuery === null ? '' : ' ' . $this->mediaQuery) . ';';
×
72
    }
73

74
    /**
75
     * @return non-empty-string
76
     */
77
    public function atRuleName(): string
×
78
    {
79
        return 'import';
×
80
    }
81

82
    /**
83
     * @return array{0: URL, 1?: non-empty-string}
84
     */
85
    public function atRuleArgs(): array
×
86
    {
87
        $result = [$this->location];
×
88
        if (\is_string($this->mediaQuery) && $this->mediaQuery !== '') {
×
89
            $result[] = $this->mediaQuery;
×
90
        }
91

92
        return $result;
×
93
    }
94

95
    /**
96
     * @param list<Comment> $comments
97
     */
98
    public function addComments(array $comments): void
×
99
    {
100
        $this->comments = \array_merge($this->comments, $comments);
×
101
    }
×
102

103
    /**
104
     * @return list<Comment>
105
     */
106
    public function getComments(): array
×
107
    {
108
        return $this->comments;
×
109
    }
110

111
    /**
112
     * @param list<Comment> $comments
113
     */
114
    public function setComments(array $comments): void
×
115
    {
116
        $this->comments = $comments;
×
117
    }
×
118

119
    public function getMediaQuery(): ?string
×
120
    {
121
        return $this->mediaQuery;
×
122
    }
123
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc