Unit tests and bug fixes for international dialling.

This commit is contained in:
akwizgran
2012-12-15 16:36:37 +00:00
parent 8f33330e42
commit ac0420d276
3 changed files with 41 additions and 6 deletions

View File

@@ -264,20 +264,20 @@ class CountryCodes {
// Strip the NDD prefix from the number if present // Strip the NDD prefix from the number if present
if(number.startsWith(to.ndd)) if(number.startsWith(to.ndd))
number = number.substring(to.ndd.length()); number = number.substring(to.ndd.length());
if(from == to) return from.ndd + number; if(from == to) return from.ndd + number; // National
return from.idd + to.countryCode + number; return from.idd + to.countryCode + number; // International
} }
private static class Country { 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, private Country(String iso3166, String englishName, String countryCode,
String ndd, String idd) { String idd, String ndd) {
this.iso3166 = iso3166; this.iso3166 = iso3166;
this.countryCode = countryCode; this.countryCode = countryCode;
this.ndd = ndd;
this.idd = idd; this.idd = idd;
this.ndd = ndd;
} }
} }
} }

View File

@@ -85,6 +85,7 @@
<test name='net.sf.briar.plugins.file.PollingRemovableDriveMonitorTest'/> <test name='net.sf.briar.plugins.file.PollingRemovableDriveMonitorTest'/>
<test name='net.sf.briar.plugins.file.RemovableDrivePluginTest'/> <test name='net.sf.briar.plugins.file.RemovableDrivePluginTest'/>
<test name='net.sf.briar.plugins.file.UnixRemovableDriveMonitorTest'/> <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.plugins.tcp.LanTcpPluginTest'/>
<test name='net.sf.briar.protocol.AckReaderTest'/> <test name='net.sf.briar.protocol.AckReaderTest'/>
<test name='net.sf.briar.protocol.BatchReaderTest'/> <test name='net.sf.briar.protocol.BatchReaderTest'/>

View File

@@ -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"));
}
}