Visibility MUST be declared on all properties and methods; abstract and final MUST be declared before the visibility; static MUST be declared after the visibility.
* Some code improvements - tests same as beginning
* isUTF8Invalid returns a boolean
* Changes for tests passed
* Revert change + scrutinizer to flaky
* Null coalescing on token to return a null token
* Psalm pass and PHPunit too (php 7.4)
* Minor change to set lookahead to nullToken
* #256 Bypass a PHP warning generated by @dns_get_record
The idea is to create a custom error handler for dns_get_record(), call dns_get_record and then restore the original error handler.
This way we can catch PHP warnings (e.g. "Warning: dns_get_record(): DNS Query failed" or "dns_get_record(): A temporary server error occurred." [ErrorException])
* #256 Make `UnableToGetDNSRecord` reason more testable
* #256 Suppress psalm’s false-positive error
see https://github.com/vimeo/psalm/issues/5134#issuecomment-782937791
* #256 Speed up tests: start from previously failed
* #256 Suppress psalm’s false-positive error
We don’t have a control over AbstractLexer and can’t specify array shape in this parent class
* Reimplement DNSCheckValidation to utilise get_dns_record and extend support for detection of Null MX records (RFC7505) and reserved, mDNS and private namespaces (RFC2606 & RFC6762)
* Change valid email tests to use github.com instead of example.com as example.com now (correctly) fails the tests due to the Null MX case
* Tweak to pass CI psalm issue
* Encapsulate dns check code. Simplify local and reserved domain checks. Switch test domain
* Set PHPDoc return type
* Use strict comparisons