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

brick / postcode / 19098923587

05 Nov 2025 10:27AM UTC coverage: 81.782% (-17.6%) from 99.396%
19098923587

Pull #19

github

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

5 of 184 new or added lines in 183 files covered. (2.72%)

2 existing lines in 1 file now uncovered.

826 of 1010 relevant lines covered (81.78%)

15.02 hits per line

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

83.33
/src/Formatter/MCFormatter.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 preg_match;
10
use function str_starts_with;
11

12
/**
13
 * Validates and formats postcodes in Monaco.
14
 *
15
 * Postcodes consist of 5 digits, without separator.
16
 *
17
 * Although an independent country, Monaco is part of the French postal code system as if it were a French département,
18
 * numbered, with codes consisting of 980 and two digits, with 00 being used for deliveries to all physical addresses
19
 * in the Principality, and 01 to 99 being used for special types of delivery.
20
 *
21
 * @see https://en.wikipedia.org/wiki/List_of_postal_codes
22
 * @see https://en.wikipedia.org/wiki/Postal_codes_in_France#Monaco
23
 */
24
final class MCFormatter implements CountryPostcodeFormatter
25
{
26
    public function hint(): string
27
    {
NEW
28
        return 'Postcodes consist of 5 digits, without separator.';
×
29
    }
30

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

37
        if (! str_starts_with($postcode, '980')) {
6✔
38
            return null;
3✔
39
        }
40

41
        return $postcode;
3✔
42
    }
43
}
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