Comment # 7 on bug 59571 from
5th problem: after switching to E_BOOK_QUERY_EQUALS_PHONE_NUMBER with a E164
caller ID as comparison value (includes country code!), contacts which have no
country code don't match.

The query, visible in the server output and the D-Bus log when using
SYNCEVOLUTION_NO_PIM_EDS_DIRECT=1 is:
(eqphone "phone"  "+4989788899" "de_DE.UTF-8")

This query is expected to match this contact:
VERSION:3.0
X-EVOLUTION-FILE-AS:Zoo\, Abraham
N:Zoo;Abraham
NICKNAME:Ace
TEL;X-EVOLUTION-E164=1234,:1234
TEL;X-EVOLUTION-E164=5678,:56/78
TEL;X-EVOLUTION-E164=800366227,"+1":+1-800-FOOBAR
TEL;X-EVOLUTION-E164=89788899,:089/788899
EMAIL:az@example.com
UID:pas-id-51272A3C000000BD
REV:2013-02-22T08:20:12Z(331)
FN:Abraham Zoo
END:VCARD

But it doesn't.

It matches only the contact which has +49 explicitly set:
BEGIN:VCARD
VERSION:3.0
X-EVOLUTION-FILE-AS:Yeah\, Benjamin
N:Yeah;Benjamin
TEL;X-EVOLUTION-E164=89788899,"+49":+49-89-7888 99
UID:pas-id-51272A3C000000BE
REV:2013-02-22T08:20:12Z(333)
FN:Benjamin Yeah
END:VCARD

To reproduce, use for-master/pohly as committed today. The relevant change is
this:

commit 1330644b2d45d2ab24ee9708d29f1daead316e4f
Author: Patrick Ohly <patrick.ohly@intel.com>
Date:   Fri Feb 22 08:56:13 2013 +0100

    PIM: intelligent phone search in EDS (FDO #59571, part 2)

    If phone number search is possible, then the direct search in EDS now
    uses the more accurate E_BOOK_QUERY_EQUALS_PHONE_NUMBER comparison,
    with the E164 formatted caller ID as value to compare against. That
    value includes the current country code.

    For testing purposes, setting SYNCEVOLUTION_PIM_EDS_SUBSTRING forces
    the usage of the traditional suffix match. This is used to test both
    the old and new flavor of testFilterStartupRefine.

    FilterStartupRefineSmart is the one which uses phone number matching.
    At the moment that fails to match phone numbers in EDS which do not
    contain a country code. Need to check whether that is meant to match.

To reproduce:

$ cd /tmp/; mkdir -p testing; cd testing; export
XDG_CONFIG_HOME=/tmp/testing/temp-testpim/config
XDG_DATA_HOME=/tmp/testing/temp-testpim/local/cache LANG=de_DE.utf-8; jhbuild
run ~pohly/src/syncevolution/test/dbus-session.sh bash

/tmp/testing$ rm -f *.log; SYNCEVOLUTION_NO_PIM_EDS_DIRECT=1
PATH=/home/pohly/work/syncevolution/src:$PATH
~pohly/src/syncevolution/src/dbus/server/pim/testpim.py -v
TestContacts.testFilterStartupRefineSmart

Beware!!! Setting LANG=de_DE.utf-8 before launching the dbus-daemon and thus
evolution-addressbook-factory is important. This was not in previous
instructions. Otherwise EDS may run with a different locale setting than the
test. The updated testpim.py checks for this.


You are receiving this mail because: