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

brick / postcode / 19098978650

05 Nov 2025 10:29AM UTC coverage: 81.719% (-17.7%) from 99.396%
19098978650

Pull #19

github

web-flow
Merge 3d57d0d25 into 8ef37e5aa
Pull Request #19: Add hint to formatter, so a hint can be provided if postcode is invalid

6 of 186 new or added lines in 184 files covered. (3.23%)

827 of 1012 relevant lines covered (81.72%)

15.0 hits per line

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

85.71
/src/Formatter/SKFormatter.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace Brick\Postcode\Formatter;
6

7
use Brick\Postcode\CountryPostcodeFormatter;
8

9
use function in_array;
10
use function preg_match;
11
use function substr;
12

13
/**
14
 * Validates and formats postcodes in Slovakia.
15
 *
16
 * Postcodes consist of 5 digits in the following format: xxx xx.
17
 *
18
 * - The first digit represents the postal district and is either 8, 9, or 0.
19
 * - Other digits, depending on the district, represent further geographical
20
 *   division of this district.
21
 *
22
 * @see https://en.wikipedia.org/wiki/List_of_postal_codes
23
 */
24
final class SKFormatter implements CountryPostcodeFormatter
25
{
26
    public function hint(): string
27
    {
NEW
28
        return 'Postcodes consist of 5 digits in the following format: xxx xx.';
×
29
    }
30

31
    public function format(string $postcode): ?string
32
    {
33
        if (preg_match('/^[0-9]{5}$/', $postcode) !== 1) {
19✔
34
            return null;
12✔
35
        }
36

37
        $district = $postcode[0];
7✔
38

39
        if (! in_array($district, ['8', '9', '0'], true)) {
7✔
40
            return null;
4✔
41
        }
42

43
        return substr($postcode, 0, 3) . ' ' . substr($postcode, 3);
3✔
44
    }
45
}
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