From ac0420d276ec0eb02e315c25077639251dc8ae9c Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Sat, 15 Dec 2012 16:36:37 +0000 Subject: [PATCH] Unit tests and bug fixes for international dialling. --- .../sf/briar/plugins/modem/CountryCodes.java | 12 +++---- briar-tests/build.xml | 1 + .../briar/plugins/modem/CountryCodesTest.java | 34 +++++++++++++++++++ 3 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 briar-tests/src/net/sf/briar/plugins/modem/CountryCodesTest.java diff --git a/briar-core/src/net/sf/briar/plugins/modem/CountryCodes.java b/briar-core/src/net/sf/briar/plugins/modem/CountryCodes.java index 1029a1f93b..c1de00b084 100644 --- a/briar-core/src/net/sf/briar/plugins/modem/CountryCodes.java +++ b/briar-core/src/net/sf/briar/plugins/modem/CountryCodes.java @@ -189,7 +189,7 @@ class CountryCodes { new Country("RE", "Reunion", "262", "00", "0"), new Country("RO", "Romania", "40", "00", "0"), new Country("RS", "Serbia", "381", "99", "0"), - new Country("RU", "Russia", "7", " 8**10", "8"), + new Country("RU", "Russia", "7", "8**10", "8"), new Country("RW", "Rwanda", "250", "00", "0"), new Country("SA", "Saudi Arabia", "966", "00", "0"), new Country("SB", "Solomon Islands", "677", "00", ""), @@ -264,20 +264,20 @@ class CountryCodes { // Strip the NDD prefix from the number if present if(number.startsWith(to.ndd)) number = number.substring(to.ndd.length()); - if(from == to) return from.ndd + number; - return from.idd + to.countryCode + number; + if(from == to) return from.ndd + number; // National + return from.idd + to.countryCode + number; // International } private static class Country { - private final String iso3166, countryCode, ndd, idd; + private final String iso3166, countryCode, idd, ndd; private Country(String iso3166, String englishName, String countryCode, - String ndd, String idd) { + String idd, String ndd) { this.iso3166 = iso3166; this.countryCode = countryCode; - this.ndd = ndd; this.idd = idd; + this.ndd = ndd; } } } \ No newline at end of file diff --git a/briar-tests/build.xml b/briar-tests/build.xml index 8dacc0cd25..1acfdcb3c0 100644 --- a/briar-tests/build.xml +++ b/briar-tests/build.xml @@ -85,6 +85,7 @@ <test name='net.sf.briar.plugins.file.PollingRemovableDriveMonitorTest'/> <test name='net.sf.briar.plugins.file.RemovableDrivePluginTest'/> <test name='net.sf.briar.plugins.file.UnixRemovableDriveMonitorTest'/> + <test name='net.sf.briar.plugins.modem.CountryCodesTest'/> <test name='net.sf.briar.plugins.tcp.LanTcpPluginTest'/> <test name='net.sf.briar.protocol.AckReaderTest'/> <test name='net.sf.briar.protocol.BatchReaderTest'/> diff --git a/briar-tests/src/net/sf/briar/plugins/modem/CountryCodesTest.java b/briar-tests/src/net/sf/briar/plugins/modem/CountryCodesTest.java new file mode 100644 index 0000000000..8c87bb50ff --- /dev/null +++ b/briar-tests/src/net/sf/briar/plugins/modem/CountryCodesTest.java @@ -0,0 +1,34 @@ +package net.sf.briar.plugins.modem; + +import net.sf.briar.BriarTestCase; + +import org.junit.Test; + +public class CountryCodesTest extends BriarTestCase { + + @Test + public void testTranslation() { + // Unknown country for caller + assertNull(CountryCodes.translate("02012345678", "ZZ", "GB")); + // Unknown country for callee + assertNull(CountryCodes.translate("02012345678", "GB", "ZZ")); + // GB to GB, callee has included NDD prefix + assertEquals("02012345678", + CountryCodes.translate("02012345678", "GB", "GB")); + // GB to GB, callee has included IDD prefix and country code + assertEquals("02012345678", + CountryCodes.translate("00442012345678", "GB", "GB")); + // GB to GB, callee has not included a prefix + assertEquals("02012345678", + CountryCodes.translate("2012345678", "GB", "GB")); + // Russia to GB, callee has included NDD prefix + assertEquals("8**10442012345678", + CountryCodes.translate("02012345678", "RU", "GB")); + // Russia to GB, callee has included IDD prefix and country code + assertEquals("8**10442012345678", + CountryCodes.translate("00442012345678", "RU", "GB")); + // Russia to GB, callee has not included a prefix + assertEquals("8**10442012345678", + CountryCodes.translate("2012345678", "RU", "GB")); + } +} -- GitLab