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

MyIntervals / PHP-CSS-Parser / 13562750149

27 Feb 2025 09:09AM UTC coverage: 54.784%. Remained the same
13562750149

push

github

web-flow
[TASK] Deprecate `__toString()` (#1006)

Part of #998

1042 of 1902 relevant lines covered (54.78%)

12.12 hits per line

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

0.0
/src/Property/CSSNamespace.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

10
/**
11
 * `CSSNamespace` represents an `@namespace` rule.
12
 */
13
class CSSNamespace implements AtRule
14
{
15
    /**
16
     * @var string
17
     */
18
    private $url;
19

20
    /**
21
     * @var string
22
     */
23
    private $prefix;
24

25
    /**
26
     * @var int
27
     */
28
    private $lineNumber;
29

30
    /**
31
     * @var array<array-key, Comment>
32
     *
33
     * @internal since 8.8.0
34
     */
35
    protected $comments = [];
36

37
    /**
38
     * @param string $url
39
     * @param string|null $prefix
40
     * @param int<0, max> $lineNumber
41
     */
42
    public function __construct($url, $prefix = null, $lineNumber = 0)
×
43
    {
44
        $this->url = $url;
×
45
        $this->prefix = $prefix;
×
46
        $this->lineNumber = $lineNumber;
×
47
    }
×
48

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

57
    /**
58
     * @deprecated in V8.8.0, will be removed in V9.0.0. Use `render` instead.
59
     */
60
    public function __toString(): string
×
61
    {
62
        return $this->render(new OutputFormat());
×
63
    }
64

65
    public function render(OutputFormat $outputFormat): string
×
66
    {
67
        return '@namespace ' . ($this->prefix === null ? '' : $this->prefix . ' ')
×
68
            . $this->url->render($outputFormat) . ';';
×
69
    }
70

71
    /**
72
     * @return string
73
     */
74
    public function getUrl()
×
75
    {
76
        return $this->url;
×
77
    }
78

79
    /**
80
     * @return string|null
81
     */
82
    public function getPrefix()
×
83
    {
84
        return $this->prefix;
×
85
    }
86

87
    /**
88
     * @param string $url
89
     */
90
    public function setUrl($url): void
×
91
    {
92
        $this->url = $url;
×
93
    }
×
94

95
    /**
96
     * @param string $prefix
97
     */
98
    public function setPrefix($prefix): void
×
99
    {
100
        $this->prefix = $prefix;
×
101
    }
×
102

103
    /**
104
     * @return string
105
     */
106
    public function atRuleName(): string
×
107
    {
108
        return 'namespace';
×
109
    }
110

111
    /**
112
     * @return array<int, string>
113
     */
114
    public function atRuleArgs(): array
×
115
    {
116
        $result = [$this->url];
×
117
        if ($this->prefix) {
×
118
            \array_unshift($result, $this->prefix);
×
119
        }
120
        return $result;
×
121
    }
122

123
    /**
124
     * @param array<array-key, Comment> $comments
125
     */
126
    public function addComments(array $comments): void
×
127
    {
128
        $this->comments = \array_merge($this->comments, $comments);
×
129
    }
×
130

131
    /**
132
     * @return array<array-key, Comment>
133
     */
134
    public function getComments(): array
×
135
    {
136
        return $this->comments;
×
137
    }
138

139
    /**
140
     * @param array<array-key, Comment> $comments
141
     */
142
    public function setComments(array $comments): void
×
143
    {
144
        $this->comments = $comments;
×
145
    }
×
146
}
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

© 2025 Coveralls, Inc