[dev] [commits] Horde branch develop updated. 2cd26a26e02a3c15e50c6a7bbf2f59397288f9bf
Jan Schneider
jan at horde.org
Wed Aug 29 15:05:23 UTC 2012
Zitat von Michael M Slusarz <slusarz at horde.org>:
> Quoting Jan Schneider <jan at horde.org>:
>
>> Zitat von Michael M Slusarz <slusarz at horde.org>:
>>
>>> Quoting Jan Schneider <jan at horde.org>:
>>>
>>>> Zitat von Michael M Slusarz <slusarz at horde.org>:
>>>>
>>>>> Quoting Jan Schneider <jan at horde.org>:
>>>>>
>>>>>> commit a1d6e4df3fed121da78ca4a55a7131ac156785f8
>>>>>> Author: Jan Schneider <jan at horde.org>
>>>>>> Date: Tue Aug 28 23:54:10 2012 +0200
>>>>>>
>>>>>> This won't work with some TLDs. Add failing test.
>>>>>>
>>>>>> framework/Mail/test/Horde/Mail/AddressTest.php | 14 +++++++++++++-
>>>>>> 1 files changed, 13 insertions(+), 1 deletions(-)
>>>>>>
>>>>>> http://git.horde.org/horde-git/-/commit/a1d6e4df3fed121da78ca4a55a7131ac156785f8
>>>>>
>>>>> Your tests are incorrect. The documentation clearly states that
>>>>> base_domain returns the TLD + 1 subdomain level only.
>>>>>
>>>>> Your tests indicate that base_domain may be of dubious (or no)
>>>>> usefulness. But it is not a failing test.
>>>>
>>>> The documentation might say that, but that's not what the
>>>> property or method name that you used in the latest revision
>>>> implies. And it's useless for the purpose you made this for.
>>>
>>> As (hopefully) was eventually seen, this was already replaced by
>>> the matchDomain() method.
>>
>> That's what I meant with "method name". It still doesn't work as
>> expected, e.g. with co.uk domains.
>
> Sure it does. There's not an explicit 'co.uk' test in the unit
> tests, but I can verify that this works:
>
> $address = new Horde_Mail_Rfc822_Address('Test <test at foo.test.co.uk>');
> $this->assertTrue($address->matchDomain('test.co.uk'));
>
> This is correct given the method description of matchDomain():
>
> /**
> * Do a case-insensitive match on the address for a given domain.
> * Matches as many parts of the subdomain in the address as is given in
> * the input.
> *
> * @param string $domain Domain to match.
> *
> * @return boolean True if the address matches the given domain.
> */
>
> The address is test at foo.test.co.uk. This is address is in the
> domain 'test.co.uk'. So matchDomain() should (and does) return true.
It's not about false negatives but false positives, which we care
about in this our use case. See my committed test.
--
Jan Schneider
The Horde Project
http://www.horde.org/
More information about the dev
mailing list