Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
90.91% covered (success)
90.91%
10 / 11
66.67% covered (warning)
66.67%
2 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
IsSyntaxAware
90.91% covered (success)
90.91%
10 / 11
66.67% covered (warning)
66.67%
2 / 3
7.04
0.00% covered (danger)
0.00%
0 / 1
 syntaxes
88.89% covered (warning)
88.89%
8 / 9
0.00% covered (danger)
0.00%
0 / 1
5.03
 getSyntaxes
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getDefaultSyntax
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Cosray\Field\Capability;
6
7trait IsSyntaxAware
8{
9    protected array $syntaxes = ['plaintext'];
10
11    public function syntaxes(array $syntaxes): void
12    {
13        $values = [];
14
15        foreach ($syntaxes as $syntax) {
16            $syntax = trim($syntax);
17
18            if ($syntax === '') {
19                continue;
20            }
21
22            if (in_array($syntax, $values, true)) {
23                continue;
24            }
25
26            $values[] = $syntax;
27        }
28
29        $this->syntaxes = $values ?: ['plaintext'];
30    }
31
32    public function getSyntaxes(): array
33    {
34        return $this->syntaxes;
35    }
36
37    public function getDefaultSyntax(): string
38    {
39        return $this->syntaxes[0] ?? 'plaintext';
40    }
41}