Browse Source

Make tools consistent (#1438)

reviewable/pr1441/r1
Keghani Kouzoujian 9 years ago
committed by GitHub
parent
commit
d4d5e20779
6 changed files with 38 additions and 33 deletions
  1. +4
    -3
      tools/java/common/src/com/google/i18n/phonenumbers/MetadataFilter.java
  2. +3
    -3
      tools/java/common/test/com/google/i18n/phonenumbers/BuildMetadataFromXmlTest.java
  3. +10
    -10
      tools/java/common/test/com/google/i18n/phonenumbers/MetadataFilterCoverageTest.java
  4. +21
    -17
      tools/java/common/test/com/google/i18n/phonenumbers/MetadataFilterTest.java
  5. BIN
      tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar
  6. BIN
      tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar

+ 4
- 3
tools/java/common/src/com/google/i18n/phonenumbers/MetadataFilter.java View File

@ -39,8 +39,8 @@ final class MetadataFilter {
// excludableChildFields are PhoneNumberDesc fields of primitive type.
// excludableChildlessFields are PhoneMetadata fields of primitive type.
// Currently we support only one non-primitive type and the depth of the "family tree" is 2,
// meaning a field may have only direct descendants, who may not have descendants of their
// own. If this changes, the blacklist handling in this class should also change.
// meaning a field may have only direct descendants, who may not have descendants of their own. If
// this changes, the blacklist handling in this class should also change.
// @VisibleForTesting
static final TreeSet<String> excludableParentFields = new TreeSet<String>(Arrays.asList(
"fixedLine",
@ -161,7 +161,8 @@ final class MetadataFilter {
metadata.setCarrierSpecific(getFiltered("carrierSpecific", metadata.getCarrierSpecific()));
}
if (metadata.hasNoInternationalDialling()) {
metadata.setNoInternationalDialling(getFiltered("noInternationalDialling", metadata.getNoInternationalDialling()));
metadata.setNoInternationalDialling(getFiltered("noInternationalDialling",
metadata.getNoInternationalDialling()));
}
if (shouldDrop("preferredInternationalPrefix")) {


+ 3
- 3
tools/java/common/test/com/google/i18n/phonenumbers/BuildMetadataFromXmlTest.java View File

@ -461,7 +461,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
assertEquals("\\d{6}", phoneNumberDesc.getNationalNumberPattern());
}
public void testFilterMetadata_liteBuild() throws Exception {
public void testBuildPhoneMetadataCollection_liteBuild() throws Exception {
String xmlInput =
"<phoneNumberMetadata>"
+ " <territories>"
@ -507,7 +507,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
assertEquals("", metadata.getMobile().getExampleNumber());
}
public void testFilterMetadata_specialBuild() throws Exception {
public void testBuildPhoneMetadataCollection_specialBuild() throws Exception {
String xmlInput =
"<phoneNumberMetadata>"
+ " <territories>"
@ -554,7 +554,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
assertEquals("10123456", metadata.getMobile().getExampleNumber());
}
public void testFilterMetadata_fullBuild() throws Exception {
public void testBuildPhoneMetadataCollection_fullBuild() throws Exception {
String xmlInput =
"<phoneNumberMetadata>"
+ " <territories>"


+ 10
- 10
tools/java/common/test/com/google/i18n/phonenumbers/MetadataFilterCoverageTest.java View File

@ -56,10 +56,10 @@ public final class MetadataFilterCoverageTest {
public void testCoverageOfExcludableParentFields() {
for (String field : MetadataFilter.excludableParentFields) {
String capitalized = Character.toUpperCase(field.charAt(0)) + field.substring(1);
String conditional = String.format(
"if (metadata.has%s()) {\n metadata.set%s(getFiltered(\"%s\", metadata.get%s()));\n"
+ " }", capitalized, capitalized, field, capitalized);
assertTrue("Code is missing correct conditional for " + field, CODE.contains(conditional));
String conditional = String.format("(?s).*if \\(metadata.has%s\\(\\)\\) \\{\\s+"
+ "metadata.set%s\\(getFiltered\\(\"%s\",\\s+metadata.get%s\\(\\)\\)\\);\\s+\\}.*",
capitalized, capitalized, field, capitalized);
assertTrue("Code is missing correct conditional for " + field, CODE.matches(conditional));
}
assertEquals(countOccurrencesOf("metadata.has", CODE),
@ -70,9 +70,9 @@ public final class MetadataFilterCoverageTest {
public void testCoverageOfExcludableChildFields() {
for (String field : MetadataFilter.excludableChildFields) {
String capitalized = Character.toUpperCase(field.charAt(0)) + field.substring(1);
String conditional = String.format(
"if (shouldDrop(type, \"%s\")) {\n builder.clear%s();\n }", field, capitalized);
assertTrue("Code is missing correct conditional for " + field, CODE.contains(conditional));
String conditional = String.format("(?s).*if \\(shouldDrop\\(type, \"%s\"\\)\\) \\{\\s+"
+ "builder.clear%s\\(\\);\\s+\\}.*", field, capitalized);
assertTrue("Code is missing correct conditional for " + field, CODE.matches(conditional));
}
assertEquals(countOccurrencesOf("shouldDrop(type, \"", CODE),
@ -83,9 +83,9 @@ public final class MetadataFilterCoverageTest {
public void testCoverageOfExcludableChildlessFields() {
for (String field : MetadataFilter.excludableChildlessFields) {
String capitalized = Character.toUpperCase(field.charAt(0)) + field.substring(1);
String conditional = String.format(
"if (shouldDrop(\"%s\")) {\n metadata.clear%s();\n }", field, capitalized);
assertTrue("Code is missing correct conditional for " + field, CODE.contains(conditional));
String conditional = String.format("(?s).*if \\(shouldDrop\\(\"%s\"\\)\\) \\{\\s+"
+ "metadata.clear%s\\(\\);\\s+\\}.*", field, capitalized);
assertTrue("Code is missing correct conditional for " + field, CODE.matches(conditional));
}
assertEquals(countOccurrencesOf("shouldDrop(\"", CODE),


+ 21
- 17
tools/java/common/test/com/google/i18n/phonenumbers/MetadataFilterTest.java View File

@ -35,7 +35,11 @@ import org.junit.runners.JUnit4;
* Unit tests for {@link MetadataFilter}.
*/
@RunWith(JUnit4.class)
public class MetadataFilterTest {
public class MetadataFilterTest {
private static final String ID = "AM";
private static final int COUNTRY_CODE = 374;
private static final String INTERNATIONAL_PREFIX = "0[01]";
private static final String PREFERRED_INTERNATIONAL_PREFIX = "00";
private static final String NATIONAL_NUMBER_PATTERN = "[1-9]\\d{7}";
private static final int[] possibleLengths = {8};
private static final int[] possibleLengthsLocalOnly = {5, 6};
@ -197,11 +201,11 @@ public class MetadataFilterTest {
fieldMap);
}
@Test
// Many of the strings in this test may be possible to express in shorter ways with the current
// sets of excludable fields, but their shortest representation changes as those sets change, as
// do their semantics; therefore we allow currently longer expressions, and we allow explicit
// listing of children, even if these are currently all the children.
@Test
public void testParseFieldMapFromString_equivalentExpressions() {
// Listing all excludable parent fields is equivalent to listing all excludable child fields.
assertEquals(
@ -866,12 +870,12 @@ public class MetadataFilterTest {
MetadataFilter.forLiteBuild().filterMetadata(metadata);
// id, country_code, and international_prefix should never be cleared.
assertEquals(metadata.getId(), "AM");
assertEquals(metadata.getCountryCode(), 374);
assertEquals(metadata.getInternationalPrefix(), "0[01]");
assertEquals(metadata.getId(), ID);
assertEquals(metadata.getCountryCode(), COUNTRY_CODE);
assertEquals(metadata.getInternationalPrefix(), INTERNATIONAL_PREFIX);
// preferred_international_prefix should not be cleared in liteBuild.
assertEquals(metadata.getPreferredInternationalPrefix(), "00");
assertEquals(metadata.getPreferredInternationalPrefix(), PREFERRED_INTERNATIONAL_PREFIX);
// All PhoneNumberDescs must have only example_number cleared.
for (PhoneNumberDesc desc : Arrays.asList(
@ -896,9 +900,9 @@ public class MetadataFilterTest {
MetadataFilter.forSpecialBuild().filterMetadata(metadata);
// id, country_code, and international_prefix should never be cleared.
assertEquals(metadata.getId(), "AM");
assertEquals(metadata.getCountryCode(), 374);
assertEquals(metadata.getInternationalPrefix(), "0[01]");
assertEquals(metadata.getId(), ID);
assertEquals(metadata.getCountryCode(), COUNTRY_CODE);
assertEquals(metadata.getInternationalPrefix(), INTERNATIONAL_PREFIX);
// preferred_international_prefix should be cleared in specialBuild.
assertFalse(metadata.hasPreferredInternationalPrefix());
@ -933,10 +937,10 @@ public class MetadataFilterTest {
MetadataFilter.emptyFilter().filterMetadata(metadata);
// None of the fields should be cleared.
assertEquals(metadata.getId(), "AM");
assertEquals(metadata.getCountryCode(), 374);
assertEquals(metadata.getInternationalPrefix(), "0[01]");
assertEquals(metadata.getPreferredInternationalPrefix(), "00");
assertEquals(metadata.getId(), ID);
assertEquals(metadata.getCountryCode(), COUNTRY_CODE);
assertEquals(metadata.getInternationalPrefix(), INTERNATIONAL_PREFIX);
assertEquals(metadata.getPreferredInternationalPrefix(), PREFERRED_INTERNATIONAL_PREFIX);
for (PhoneNumberDesc desc : Arrays.asList(
metadata.getGeneralDesc(),
metadata.getFixedLine(),
@ -977,10 +981,10 @@ public class MetadataFilterTest {
private static PhoneMetadata.Builder getFakeArmeniaPhoneMetadata() {
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
metadata.setId("AM");
metadata.setCountryCode(374);
metadata.setInternationalPrefix("0[01]");
metadata.setPreferredInternationalPrefix("00");
metadata.setId(ID);
metadata.setCountryCode(COUNTRY_CODE);
metadata.setInternationalPrefix(INTERNATIONAL_PREFIX);
metadata.setPreferredInternationalPrefix(PREFERRED_INTERNATIONAL_PREFIX);
metadata.setGeneralDesc(getFakeArmeniaPhoneNumberDesc(true));
metadata.setFixedLine(getFakeArmeniaPhoneNumberDesc(false));
metadata.setMobile(getFakeArmeniaPhoneNumberDesc(false));


BIN
tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar View File


BIN
tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar View File


Loading…
Cancel
Save