diff options
author | Paul Duffin <paulduffin@google.com> | 2015-12-07 15:54:05 +0000 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2015-12-11 07:43:01 +0000 |
commit | 6b489f77ae70bea07f3a8fbd877368b4e0f3142c (patch) | |
tree | 795d2abf37f433cd1ebcd759b81b1b2fc0bf4d54 /libphonenumber/test | |
parent | abeb971bf494d4d67b68dea4b83e737724682d1b (diff) | |
download | libphonenumber-6b489f77ae70bea07f3a8fbd877368b4e0f3142c.tar.gz |
Upgrade to version 7.2.1 (Second Attempt)
This introduces a runtime dependency on nano protobuf. The
classes are jarjared from com.google.protobuf.nano into
com.android.protobuf.nano and will be built as part of the
ext library built in frameworks/base/Android.mk.
Bug: 24793335
Change-Id: I7bd8a5d3988d21ea5bb0fdaaad09df298e53e16a
Diffstat (limited to 'libphonenumber/test')
38 files changed, 136 insertions, 93 deletions
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java index b276eb9c..1365ac3f 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java +++ b/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java @@ -17,8 +17,8 @@ package com.google.i18n.phonenumbers; import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberType; -import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; +import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc; import junit.framework.TestCase; @@ -142,10 +142,10 @@ public class ExampleNumbersTest extends TestCase { for (String regionCode : phoneNumberUtil.getSupportedRegions()) { PhoneNumber exampleNumber = null; PhoneNumberDesc desc = - phoneNumberUtil.getMetadataForRegion(regionCode).getNoInternationalDialling(); + phoneNumberUtil.getMetadataForRegion(regionCode).noInternationalDialling; try { - if (desc.hasExampleNumber()) { - exampleNumber = phoneNumberUtil.parse(desc.getExampleNumber(), regionCode); + if (!desc.exampleNumber.equals("")) { + exampleNumber = phoneNumberUtil.parse(desc.exampleNumber, regionCode); } } catch (NumberParseException e) { LOGGER.log(Level.SEVERE, e.toString()); @@ -216,9 +216,9 @@ public class ExampleNumbersTest extends TestCase { int wrongTypeCounter = 0; for (String regionCode : shortNumberInfo.getSupportedRegions()) { PhoneNumberDesc desc = - MetadataManager.getShortNumberMetadataForRegion(regionCode).getEmergency(); - if (desc.hasExampleNumber()) { - String exampleNumber = desc.getExampleNumber(); + MetadataManager.getShortNumberMetadataForRegion(regionCode).emergency; + if (!desc.exampleNumber.equals("")) { + String exampleNumber = desc.exampleNumber; PhoneNumber phoneNumber = phoneNumberUtil.parse(exampleNumber, regionCode); if (!shortNumberInfo.isPossibleShortNumberForRegion(phoneNumber, regionCode) || !shortNumberInfo.isEmergencyNumber(exampleNumber, regionCode)) { @@ -239,9 +239,9 @@ public class ExampleNumbersTest extends TestCase { for (String regionCode : shortNumberInfo.getSupportedRegions()) { // Test the carrier-specific tag. PhoneNumberDesc desc = - MetadataManager.getShortNumberMetadataForRegion(regionCode).getCarrierSpecific(); - if (desc.hasExampleNumber()) { - String exampleNumber = desc.getExampleNumber(); + MetadataManager.getShortNumberMetadataForRegion(regionCode).carrierSpecific; + if (!desc.exampleNumber.equals("")) { + String exampleNumber = desc.exampleNumber; PhoneNumber carrierSpecificNumber = phoneNumberUtil.parse(exampleNumber, regionCode); if (!shortNumberInfo.isPossibleShortNumberForRegion(carrierSpecificNumber, regionCode) || !shortNumberInfo.isCarrierSpecific(carrierSpecificNumber)) { diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java index 229d8f7d..7a4b5eca 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java +++ b/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java @@ -16,7 +16,7 @@ package com.google.i18n.phonenumbers; -import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata; +import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata; import junit.framework.TestCase; @@ -29,14 +29,14 @@ public class MetadataManagerTest extends TestCase { // We should have some data for Germany. PhoneMetadata germanyAlternateFormats = MetadataManager.getAlternateFormatsForCountry(49); assertNotNull(germanyAlternateFormats); - assertTrue(germanyAlternateFormats.numberFormats().size() > 0); + assertTrue(germanyAlternateFormats.numberFormat.length > 0); } public void testShortNumberMetadataContainsData() throws Exception { // We should have some data for France. PhoneMetadata franceShortNumberMetadata = MetadataManager.getShortNumberMetadataForRegion("FR"); assertNotNull(franceShortNumberMetadata); - assertTrue(franceShortNumberMetadata.hasShortCode()); + assertTrue(franceShortNumberMetadata.shortCode != null); } public void testAlternateFormatsFailsGracefully() throws Exception { diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java index a1d30c57..c1c53191 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +++ b/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java @@ -16,33 +16,29 @@ package com.google.i18n.phonenumbers; +import junit.framework.TestCase; + /** * Unit tests for MultiFileMetadataSourceImpl.java. */ -public class MultiFileMetadataSourceImplTest extends TestMetadataTestCase { - - private final MultiFileMetadataSourceImpl multiFileMetadataSource; - - public MultiFileMetadataSourceImplTest() { - multiFileMetadataSource = new MultiFileMetadataSourceImpl(TEST_META_DATA_FILE_PREFIX, - PhoneNumberUtil.DEFAULT_METADATA_LOADER); - } +public class MultiFileMetadataSourceImplTest extends TestCase { + public MultiFileMetadataSourceImplTest() {} public void testMissingMetadataFileThrowsRuntimeException() { + MultiFileMetadataSourceImpl multiFileMetadataSource = new MultiFileMetadataSourceImpl( + "no/such/file", PhoneNumberUtil.DEFAULT_METADATA_LOADER); // In normal usage we should never get a state where we are asking to load metadata that doesn't // exist. However if the library is packaged incorrectly in the jar, this could happen and the // best we can do is make sure the exception has the file name in it. try { - multiFileMetadataSource.loadMetadataFromFile( - "no/such/file", "XX", -1, PhoneNumberUtil.DEFAULT_METADATA_LOADER); + multiFileMetadataSource.loadMetadataFromFile("XX", -1); fail("expected exception"); } catch (RuntimeException e) { - assertTrue("Unexpected error: " + e, e.toString().contains("no/such/file_XX")); + assertTrue("Unexpected error: " + e, e.getMessage().contains("no/such/file_XX")); } try { - multiFileMetadataSource.loadMetadataFromFile("no/such/file", - PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY, 123, - PhoneNumberUtil.DEFAULT_METADATA_LOADER); + multiFileMetadataSource.loadMetadataFromFile( + PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY, 123); fail("expected exception"); } catch (RuntimeException e) { assertTrue("Unexpected error: " + e, e.getMessage().contains("no/such/file_123")); diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java index 725a5904..4f6bcaf5 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java +++ b/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java @@ -17,11 +17,11 @@ package com.google.i18n.phonenumbers; import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat; -import com.google.i18n.phonenumbers.Phonemetadata.NumberFormat; -import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata; -import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber.CountryCodeSource; +import com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat; +import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata; +import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc; import java.util.ArrayList; import java.util.List; @@ -132,71 +132,77 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { assertNull(phoneUtil.getMetadataForNonGeographicalRegion(-1)); } + private boolean exactlySame(PhoneNumberDesc first, PhoneNumberDesc second) { + return first.nationalNumberPattern.equals(second.nationalNumberPattern) && + first.possibleNumberPattern.equals(second.possibleNumberPattern) && + first.exampleNumber.equals(second.exampleNumber); + } + public void testGetInstanceLoadUSMetadata() { PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.US); - assertEquals("US", metadata.getId()); - assertEquals(1, metadata.getCountryCode()); - assertEquals("011", metadata.getInternationalPrefix()); - assertTrue(metadata.hasNationalPrefix()); - assertEquals(2, metadata.numberFormatSize()); + assertEquals("US", metadata.id); + assertEquals(1, metadata.countryCode); + assertEquals("011", metadata.internationalPrefix); + assertTrue(!metadata.nationalPrefix.equals("")); + assertEquals(2, metadata.numberFormat.length); assertEquals("(\\d{3})(\\d{3})(\\d{4})", - metadata.getNumberFormat(1).getPattern()); - assertEquals("$1 $2 $3", metadata.getNumberFormat(1).getFormat()); + metadata.numberFormat[1].pattern); + assertEquals("$1 $2 $3", metadata.numberFormat[1].format); assertEquals("[13-689]\\d{9}|2[0-35-9]\\d{8}", - metadata.getGeneralDesc().getNationalNumberPattern()); - assertEquals("\\d{7}(?:\\d{3})?", metadata.getGeneralDesc().getPossibleNumberPattern()); - assertTrue(metadata.getGeneralDesc().exactlySameAs(metadata.getFixedLine())); - assertEquals("\\d{10}", metadata.getTollFree().getPossibleNumberPattern()); - assertEquals("900\\d{7}", metadata.getPremiumRate().getNationalNumberPattern()); + metadata.generalDesc.nationalNumberPattern); + assertEquals("\\d{7}(?:\\d{3})?", metadata.generalDesc.possibleNumberPattern); + assertTrue(exactlySame(metadata.generalDesc, metadata.fixedLine)); + assertEquals("\\d{10}", metadata.tollFree.possibleNumberPattern); + assertEquals("900\\d{7}", metadata.premiumRate.nationalNumberPattern); // No shared-cost data is available, so it should be initialised to "NA". - assertEquals("NA", metadata.getSharedCost().getNationalNumberPattern()); - assertEquals("NA", metadata.getSharedCost().getPossibleNumberPattern()); + assertEquals("NA", metadata.sharedCost.nationalNumberPattern); + assertEquals("NA", metadata.sharedCost.possibleNumberPattern); } public void testGetInstanceLoadDEMetadata() { PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.DE); - assertEquals("DE", metadata.getId()); - assertEquals(49, metadata.getCountryCode()); - assertEquals("00", metadata.getInternationalPrefix()); - assertEquals("0", metadata.getNationalPrefix()); - assertEquals(6, metadata.numberFormatSize()); - assertEquals(1, metadata.getNumberFormat(5).leadingDigitsPatternSize()); - assertEquals("900", metadata.getNumberFormat(5).getLeadingDigitsPattern(0)); + assertEquals("DE", metadata.id); + assertEquals(49, metadata.countryCode); + assertEquals("00", metadata.internationalPrefix); + assertEquals("0", metadata.nationalPrefix); + assertEquals(6, metadata.numberFormat.length); + assertEquals(1, metadata.numberFormat[5].leadingDigitsPattern.length); + assertEquals("900", metadata.numberFormat[5].leadingDigitsPattern[0]); assertEquals("(\\d{3})(\\d{3,4})(\\d{4})", - metadata.getNumberFormat(5).getPattern()); - assertEquals("$1 $2 $3", metadata.getNumberFormat(5).getFormat()); + metadata.numberFormat[5].pattern); + assertEquals("$1 $2 $3", metadata.numberFormat[5].format); assertEquals("(?:[24-6]\\d{2}|3[03-9]\\d|[789](?:[1-9]\\d|0[2-9]))\\d{1,8}", - metadata.getFixedLine().getNationalNumberPattern()); - assertEquals("\\d{2,14}", metadata.getFixedLine().getPossibleNumberPattern()); - assertEquals("30123456", metadata.getFixedLine().getExampleNumber()); - assertEquals("\\d{10}", metadata.getTollFree().getPossibleNumberPattern()); - assertEquals("900([135]\\d{6}|9\\d{7})", metadata.getPremiumRate().getNationalNumberPattern()); + metadata.fixedLine.nationalNumberPattern); + assertEquals("\\d{2,14}", metadata.fixedLine.possibleNumberPattern); + assertEquals("30123456", metadata.fixedLine.exampleNumber); + assertEquals("\\d{10}", metadata.tollFree.possibleNumberPattern); + assertEquals("900([135]\\d{6}|9\\d{7})", metadata.premiumRate.nationalNumberPattern); } public void testGetInstanceLoadARMetadata() { PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.AR); - assertEquals("AR", metadata.getId()); - assertEquals(54, metadata.getCountryCode()); - assertEquals("00", metadata.getInternationalPrefix()); - assertEquals("0", metadata.getNationalPrefix()); - assertEquals("0(?:(11|343|3715)15)?", metadata.getNationalPrefixForParsing()); - assertEquals("9$1", metadata.getNationalPrefixTransformRule()); - assertEquals("$2 15 $3-$4", metadata.getNumberFormat(2).getFormat()); + assertEquals("AR", metadata.id); + assertEquals(54, metadata.countryCode); + assertEquals("00", metadata.internationalPrefix); + assertEquals("0", metadata.nationalPrefix); + assertEquals("0(?:(11|343|3715)15)?", metadata.nationalPrefixForParsing); + assertEquals("9$1", metadata.nationalPrefixTransformRule); + assertEquals("$2 15 $3-$4", metadata.numberFormat[2].format); assertEquals("(9)(\\d{4})(\\d{2})(\\d{4})", - metadata.getNumberFormat(3).getPattern()); + metadata.numberFormat[3].pattern); assertEquals("(9)(\\d{4})(\\d{2})(\\d{4})", - metadata.getIntlNumberFormat(3).getPattern()); - assertEquals("$1 $2 $3 $4", metadata.getIntlNumberFormat(3).getFormat()); + metadata.intlNumberFormat[3].pattern); + assertEquals("$1 $2 $3 $4", metadata.intlNumberFormat[3].format); } public void testGetInstanceLoadInternationalTollFreeMetadata() { PhoneMetadata metadata = phoneUtil.getMetadataForNonGeographicalRegion(800); - assertEquals("001", metadata.getId()); - assertEquals(800, metadata.getCountryCode()); - assertEquals("$1 $2", metadata.getNumberFormat(0).getFormat()); - assertEquals("(\\d{4})(\\d{4})", metadata.getNumberFormat(0).getPattern()); - assertEquals("12345678", metadata.getGeneralDesc().getExampleNumber()); - assertEquals("12345678", metadata.getTollFree().getExampleNumber()); + assertEquals("001", metadata.id); + assertEquals(800, metadata.countryCode); + assertEquals("$1 $2", metadata.numberFormat[0].format); + assertEquals("(\\d{4})(\\d{4})", metadata.numberFormat[0].pattern); + assertEquals("12345678", metadata.generalDesc.exampleNumber); + assertEquals("12345678", metadata.tollFree.exampleNumber); } public void testIsNumberGeographical() { @@ -809,8 +815,8 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { public void testFormatByPattern() { NumberFormat newNumFormat = new NumberFormat(); - newNumFormat.setPattern("(\\d{3})(\\d{3})(\\d{4})"); - newNumFormat.setFormat("($1) $2-$3"); + newNumFormat.pattern = "(\\d{3})(\\d{3})(\\d{4})"; + newNumFormat.format = "($1) $2-$3"; List<NumberFormat> newNumberFormats = new ArrayList<NumberFormat>(); newNumberFormats.add(newNumFormat); @@ -825,8 +831,8 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { // $NP is set to '1' for the US. Here we check that for other NANPA countries the US rules are // followed. - newNumFormat.setNationalPrefixFormattingRule("$NP ($FG)"); - newNumFormat.setFormat("$1 $2-$3"); + newNumFormat.nationalPrefixFormattingRule = "$NP ($FG)"; + newNumFormat.format = "$1 $2-$3"; assertEquals("1 (242) 365-1234", phoneUtil.formatByPattern(BS_NUMBER, PhoneNumberFormat.NATIONAL, newNumberFormats)); @@ -834,8 +840,8 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { phoneUtil.formatByPattern(BS_NUMBER, PhoneNumberFormat.INTERNATIONAL, newNumberFormats)); - newNumFormat.setPattern("(\\d{2})(\\d{5})(\\d{3})"); - newNumFormat.setFormat("$1-$2 $3"); + newNumFormat.pattern = "(\\d{2})(\\d{5})(\\d{3})"; + newNumFormat.format = "$1-$2 $3"; newNumberFormats.set(0, newNumFormat); assertEquals("02-36618 300", @@ -845,20 +851,20 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { phoneUtil.formatByPattern(IT_NUMBER, PhoneNumberFormat.INTERNATIONAL, newNumberFormats)); - newNumFormat.setNationalPrefixFormattingRule("$NP$FG"); - newNumFormat.setPattern("(\\d{2})(\\d{4})(\\d{4})"); - newNumFormat.setFormat("$1 $2 $3"); + newNumFormat.nationalPrefixFormattingRule = "$NP$FG"; + newNumFormat.pattern = "(\\d{2})(\\d{4})(\\d{4})"; + newNumFormat.format = "$1 $2 $3"; newNumberFormats.set(0, newNumFormat); assertEquals("020 7031 3000", phoneUtil.formatByPattern(GB_NUMBER, PhoneNumberFormat.NATIONAL, newNumberFormats)); - newNumFormat.setNationalPrefixFormattingRule("($NP$FG)"); + newNumFormat.nationalPrefixFormattingRule = "($NP$FG)"; assertEquals("(020) 7031 3000", phoneUtil.formatByPattern(GB_NUMBER, PhoneNumberFormat.NATIONAL, newNumberFormats)); - newNumFormat.setNationalPrefixFormattingRule(""); + newNumFormat.nationalPrefixFormattingRule = ""; assertEquals("20 7031 3000", phoneUtil.formatByPattern(GB_NUMBER, PhoneNumberFormat.NATIONAL, newNumberFormats)); @@ -1431,8 +1437,9 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { public void testMaybeStripNationalPrefix() { PhoneMetadata metadata = new PhoneMetadata(); - metadata.setNationalPrefixForParsing("34"); - metadata.setGeneralDesc(new PhoneNumberDesc().setNationalNumberPattern("\\d{4,8}")); + metadata.nationalPrefixForParsing = "34"; + metadata.generalDesc = new PhoneNumberDesc(); + metadata.generalDesc.nationalNumberPattern = "\\d{4,8}"; StringBuilder numberToStrip = new StringBuilder("34356778"); String strippedNumber = "356778"; assertTrue(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null)); @@ -1444,12 +1451,12 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { assertEquals("Should have had no change - no national prefix present.", strippedNumber, numberToStrip.toString()); // Some countries have no national prefix. Repeat test with none specified. - metadata.setNationalPrefixForParsing(""); + metadata.nationalPrefixForParsing = ""; assertFalse(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null)); assertEquals("Should not strip anything with empty national prefix.", strippedNumber, numberToStrip.toString()); // If the resultant number doesn't match the national rule, it shouldn't be stripped. - metadata.setNationalPrefixForParsing("3"); + metadata.nationalPrefixForParsing = "3"; numberToStrip = new StringBuilder("3123"); strippedNumber = "3123"; assertFalse(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null)); @@ -1457,7 +1464,7 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { "the national rule.", strippedNumber, numberToStrip.toString()); // Test extracting carrier selection code. - metadata.setNationalPrefixForParsing("0(81)?"); + metadata.nationalPrefixForParsing = "0(81)?"; numberToStrip = new StringBuilder("08122123456"); strippedNumber = "22123456"; StringBuilder carrierCode = new StringBuilder(); @@ -1467,9 +1474,9 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase { assertEquals("Should have had national prefix and carrier code stripped.", strippedNumber, numberToStrip.toString()); // If there was a transform rule, check it was applied. - metadata.setNationalPrefixTransformRule("5$15"); + metadata.nationalPrefixTransformRule = "5$15"; // Note that a capturing group is present here. - metadata.setNationalPrefixForParsing("0(\\d{2})"); + metadata.nationalPrefixForParsing = "0(\\d{2})"; numberToStrip = new StringBuilder("031123"); String transformedNumber = "5315123"; assertTrue(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null)); diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/SingleFileMetadataSourceImplTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/SingleFileMetadataSourceImplTest.java new file mode 100644 index 00000000..5b7f1303 --- /dev/null +++ b/libphonenumber/test/com/google/i18n/phonenumbers/SingleFileMetadataSourceImplTest.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2015 The Libphonenumber Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.i18n.phonenumbers; + +import junit.framework.TestCase; + +/** + * Unit tests for SingleFileMetadataSourceImpl.java. + */ +public class SingleFileMetadataSourceImplTest extends TestCase { + public SingleFileMetadataSourceImplTest() {} + + public void testMissingMetadataFileThrowsRuntimeException() { + SingleFileMetadataSourceImpl singleFileMetadataSource = new SingleFileMetadataSourceImpl( + "no/such/file", PhoneNumberUtil.DEFAULT_METADATA_LOADER); + // In normal usage we should never get a state where we are asking to load metadata that doesn't + // exist. However if the library is packaged incorrectly in the jar, this could happen and the + // best we can do is make sure the exception has the file name in it. + try { + singleFileMetadataSource.loadMetadataFromFile(); + fail("expected exception"); + } catch (RuntimeException e) { + assertTrue("Unexpected error: " + e, e.getMessage().contains("no/such/file")); + } + } +} diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java b/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java index 99def5ae..ca9014d4 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java +++ b/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java @@ -27,7 +27,7 @@ import junit.framework.TestCase; * @author Shaopeng Jia */ public class TestMetadataTestCase extends TestCase { - protected static final String TEST_META_DATA_FILE_PREFIX = + private static final String TEST_META_DATA_FILE_PREFIX = "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting"; protected final PhoneNumberUtil phoneUtil; diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800 b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800 Binary files differindex 03c5f19e..c8d5ffa4 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800 +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800 diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979 b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979 Binary files differindex 56897b27..87e98359 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979 +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979 diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD Binary files differindex ace04c19..fd2844b8 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE Binary files differindex bc2e8d8e..de5efa3b 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO Binary files differindex c306e037..7865c2f5 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR Binary files differindex 7d7fb24d..c9c1af82 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU Binary files differindex 44da9cfd..734279b1 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB Binary files differindex 672f42b1..fc3a7156 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR Binary files differindex c0f70683..8bf34a1d 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS Binary files differindex b9c6f228..443033c7 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY Binary files differindex 706d64ed..d89232d9 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA Binary files differindex a169c934..464bd029 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC Binary files differindex 97fa27e9..2462f4c1 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN Binary files differindex 9741b32e..b8329393 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX Binary files differindex 334390d4..92a95820 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE Binary files differindex c6835b76..e3797a48 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR Binary files differindex db0a6b39..ece939db 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB Binary files differindex cc39b9e2..9e8ecc45 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG Binary files differindex 32a4d0d0..712f683d 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU Binary files differindex d10ef035..28fdec1d 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT Binary files differindex fb81fe0c..d3c00b2f 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP Binary files differindex 698c404b..aa055b19 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR Binary files differindex 5c388435..49e83020 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX Binary files differindex ff509e76..cd4593a9 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ Binary files differindex fee7982c..9a26ed1e 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL Binary files differindex 52b0c5a0..7c5fc15b 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE Binary files differindex 7bb4228d..144938ce 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE Binary files differindex c9643cdc..99fdf26f 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG Binary files differindex b97c6812..fa312851 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US Binary files differindex 6058300b..a6c26c52 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT Binary files differindex fa8356d7..0852976e 100644 --- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting b/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting Binary files differnew file mode 100644 index 00000000..82ae4a8f --- /dev/null +++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting |