diff --git a/b2g/app/b2g.js b/b2g/app/b2g.js index 52ed0fe95117..38bed82e9a6f 100644 --- a/b2g/app/b2g.js +++ b/b2g/app/b2g.js @@ -417,6 +417,7 @@ pref("dom.global-constructor.disable.mozContact", false); pref("dom.phonenumber.substringmatching.BR", 8); pref("dom.phonenumber.substringmatching.CO", 10); pref("dom.phonenumber.substringmatching.VE", 7); +pref("dom.phonenumber.substringmatching.CL", 8); // WebAlarms pref("dom.mozAlarms.enabled", true); diff --git a/dom/contacts/tests/mochitest.ini b/dom/contacts/tests/mochitest.ini index 1c50ccd2c131..d1612db8eb5d 100644 --- a/dom/contacts/tests/mochitest.ini +++ b/dom/contacts/tests/mochitest.ini @@ -13,6 +13,7 @@ skip-if = (toolkit == 'gonk' && debug) #debug-only failure [test_contacts_international.html] [test_contacts_substringmatching.html] [test_contacts_substringmatchingVE.html] +[test_contacts_substringmatchingCL.html] [test_migration.html] support-files = test_migration_chrome.js diff --git a/dom/contacts/tests/shared.js b/dom/contacts/tests/shared.js index 41da27b2f77d..864dc34a6b7e 100644 --- a/dom/contacts/tests/shared.js +++ b/dom/contacts/tests/shared.js @@ -402,15 +402,17 @@ function next() { } } +SimpleTest.waitForExplicitFinish(); + function start_tests() { // Skip tests on Android < 4.0 due to test failures on tbpl (see bugs 897924 & 888891) let androidVersion = SpecialPowers.Cc['@mozilla.org/system-info;1'] .getService(SpecialPowers.Ci.nsIPropertyBag2) .getProperty('version'); if (!isAndroid || androidVersion >= 14) { - SimpleTest.waitForExplicitFinish(); - addLoadEvent(next); + next(); } else { ok(true, "Skip tests on Android < 4.0 (bugs 897924 & 888891"); + SimpleTest.finish(); } } diff --git a/dom/contacts/tests/test_contacts_international.html b/dom/contacts/tests/test_contacts_international.html index e05c3b62671d..f01e21b903cb 100644 --- a/dom/contacts/tests/test_contacts_international.html +++ b/dom/contacts/tests/test_contacts_international.html @@ -43,13 +43,13 @@ var properties2 = { }; var number3 = { - international1: "0041557932012345", - international2: "+557932012345" + local: "7932012345", + international: "+557932012345" }; var properties3 = { name: ["Testname2"], - tel: [{value: number3.international2}] + tel: [{value: number3.international}] }; var req; @@ -95,9 +95,9 @@ var steps = [ filterValue: number1.local}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 1, "Found exactly 1 contact."); + ise(req.result.length, 1, "Found exactly 1 contact."); findResult1 = req.result[0]; - ok(findResult1.id == sample_id1, "Same ID"); + ise(findResult1.id, sample_id1, "Same ID"); next(); }; req.onerror = onFailure; @@ -109,7 +109,7 @@ var steps = [ filterValue: number1.international}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 0, "Found exactly 0 contacts."); + ise(req.result.length, 0, "Found exactly 0 contacts."); next(); }; req.onerror = onFailure; @@ -122,7 +122,7 @@ var steps = [ filterValue: shortNumber}; req = mozContacts.find(options); req.onsuccess = function() { - ok(req.result.length == 0, "The prefix short number should not match any contact."); + ise(req.result.length, 0, "The prefix short number should not match any contact."); next(); }; req.onerror = onFailure; @@ -135,7 +135,7 @@ var steps = [ filterValue: shortNumber}; req = mozContacts.find(options); req.onsuccess = function() { - ok(req.result.length == 0, "The suffix short number should not match any contact."); + ise(req.result.length, 0, "The suffix short number should not match any contact."); next(); }; req.onerror = onFailure; @@ -147,7 +147,7 @@ var steps = [ filterValue: shortNumber}; req = mozContacts.find(options); req.onsuccess = function() { - ok(req.result.length == 1, "Found the contact equally matching the shortNumber."); + ise(req.result.length, 1, "Found the contact equally matching the shortNumber."); next(); }; req.onerror = onFailure; @@ -171,7 +171,7 @@ var steps = [ filterValue: number1.local}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 0, "Found exactly 0 contact."); + ise(req.result.length, 0, "Found exactly 0 contact."); next(); }; req.onerror = onFailure; @@ -183,7 +183,7 @@ var steps = [ filterValue: number1.international}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 0, "Found exactly 0 contact."); + ise(req.result.length, 0, "Found exactly 0 contact."); next(); }; req.onerror = onFailure; @@ -195,9 +195,9 @@ var steps = [ filterValue: number2.local}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 1, "Found exactly 1 contact."); + ise(req.result.length, 1, "Found exactly 1 contact."); findResult1 = req.result[0]; - ok(findResult1.id == sample_id1, "Same ID"); + ise(findResult1.id, sample_id1, "Same ID"); next(); }; req.onerror = onFailure; @@ -209,7 +209,7 @@ var steps = [ filterValue: number2.international}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 0, "Found exactly 1 contact."); + ise(req.result.length, 0, "Found exactly 1 contact."); next(); }; req.onerror = onFailure; @@ -224,7 +224,7 @@ var steps = [ req.onerror = onFailure; }, function () { - ok(true, "Adding a new contact with country code"); + ok(true, "Adding a contact with a Brazilian country code"); createResult1 = new mozContact(properties3); req = navigator.mozContacts.save(createResult1); req.onsuccess = function () { @@ -235,15 +235,15 @@ var steps = [ req.onerror = onFailure; }, function () { - ok(true, "Searching for international number with prefix"); + ok(true, "Searching for Brazilian number using local number"); var options = {filterBy: ["tel"], filterOp: "match", - filterValue: number3.international1}; + filterValue: number3.local}; req = mozContacts.find(options); req.onsuccess = function () { - ok(req.result.length == 1, "Found exactly 1 contact."); + ise(req.result.length, 1, "Found exactly 1 contact."); findResult1 = req.result[0]; - ok(findResult1.id == sample_id1, "Same ID"); + ise(findResult1.id, sample_id1, "Same ID"); next(); }; req.onerror = onFailure; @@ -263,7 +263,11 @@ var steps = [ } ]; -start_tests(); +SpecialPowers.pushPrefEnv({ + set: [ + ["ril.lastKnownSimMcc", "000"] + ] +}, start_tests); diff --git a/dom/contacts/tests/test_contacts_substringmatching.html b/dom/contacts/tests/test_contacts_substringmatching.html index dffbb4beab28..4e86166116dd 100644 --- a/dom/contacts/tests/test_contacts_substringmatching.html +++ b/dom/contacts/tests/test_contacts_substringmatching.html @@ -45,6 +45,15 @@ var prop4 = { tel: [{ value: "(0414) 233-9888" }] }; +var brazilianNumber = { + international1: "0041557932012345", + international2: "+557932012345" +}; + +var prop5 = { + tel: [{value: brazilianNumber.international2}] +}; + var req; var steps = [ function () { @@ -293,6 +302,40 @@ var steps = [ } req.onerror = onFailure; }, + function () { + ok(true, "Adding a new contact with a Brazilian country code"); + createResult1 = new mozContact(prop5); + req = navigator.mozContacts.save(createResult1); + req.onsuccess = function () { + ok(createResult1.id, "The contact now has an ID."); + sample_id1 = createResult1.id; + next(); + }; + req.onerror = onFailure; + }, + function () { + ok(true, "Searching for international number with prefix"); + var options = {filterBy: ["tel"], + filterOp: "match", + filterValue: brazilianNumber.international1}; + req = mozContacts.find(options); + req.onsuccess = function () { + ok(req.result.length == 1, "Found exactly 1 contact."); + findResult1 = req.result[0]; + ok(findResult1.id == sample_id1, "Same ID"); + next(); + }; + req.onerror = onFailure; + }, + function () { + ok(true, "Deleting database"); + req = mozContacts.clear() + req.onsuccess = function () { + ok(true, "Deleted the database"); + next(); + } + req.onerror = onFailure; + }, function () { ok(true, "all done!\n"); SpecialPowers.clearUserPref("dom.phonenumber.substringmatching.BR"); diff --git a/dom/contacts/tests/test_contacts_substringmatchingCL.html b/dom/contacts/tests/test_contacts_substringmatchingCL.html new file mode 100644 index 000000000000..b248eefd8488 --- /dev/null +++ b/dom/contacts/tests/test_contacts_substringmatchingCL.html @@ -0,0 +1,204 @@ + + + + + Test for Bug 949537 substring matching for WebContacts + + + + + + +Mozilla Bug 949537 +

+ +
+
+
+
+ +