@@ -1527,312 +1527,10 @@ public void testDefaultValueOptionsProto3() throws Exception {
1527
1527
+ " \" repeatedRecursive\" : []\n "
1528
1528
+ "}" ;
1529
1529
1530
- // includingDefaultValueFields() and alwaysPrintFieldsWithNoPresence() should
1531
- // behave identically on the proto3 test message:
1532
- assertThat (JsonFormat .printer ().includingDefaultValueFields ().print (message ))
1533
- .isEqualTo (expectedJsonWithDefaults );
1534
1530
assertThat (JsonFormat .printer ().alwaysPrintFieldsWithNoPresence ().print (message ))
1535
1531
.isEqualTo (expectedJsonWithDefaults );
1536
1532
}
1537
1533
1538
- @ Test
1539
- public void testDefaultValueForSpecificFieldsOptionProto3 () throws Exception {
1540
- TestAllTypes message = TestAllTypes .getDefaultInstance ();
1541
- Set <FieldDescriptor > fixedFields = new HashSet <>();
1542
- for (FieldDescriptor fieldDesc : TestAllTypes .getDescriptor ().getFields ()) {
1543
- if (fieldDesc .getName ().contains ("_fixed" )) {
1544
- fixedFields .add (fieldDesc );
1545
- }
1546
- }
1547
-
1548
- assertThat (JsonFormat .printer ().includingDefaultValueFields (fixedFields ).print (message ))
1549
- .isEqualTo (
1550
- "{\n "
1551
- + " \" optionalFixed32\" : 0,\n "
1552
- + " \" optionalFixed64\" : \" 0\" ,\n "
1553
- + " \" repeatedFixed32\" : [],\n "
1554
- + " \" repeatedFixed64\" : []\n "
1555
- + "}" );
1556
-
1557
- TestAllTypes messageNonDefaults =
1558
- message .toBuilder ().setOptionalInt64 (1234 ).setOptionalFixed32 (3232 ).build ();
1559
- assertThat (
1560
- JsonFormat .printer ().includingDefaultValueFields (fixedFields ).print (messageNonDefaults ))
1561
- .isEqualTo (
1562
- "{\n "
1563
- + " \" optionalInt64\" : \" 1234\" ,\n "
1564
- + " \" optionalFixed32\" : 3232,\n "
1565
- + " \" optionalFixed64\" : \" 0\" ,\n "
1566
- + " \" repeatedFixed32\" : [],\n "
1567
- + " \" repeatedFixed64\" : []\n "
1568
- + "}" );
1569
- }
1570
-
1571
- @ Test
1572
- public void testDefaultValueForSpecificFieldsProto3_doesntHonorMessageFields () throws Exception {
1573
- TestAllTypes message = TestAllTypes .getDefaultInstance ();
1574
- Set <FieldDescriptor > fixedFields =
1575
- ImmutableSet .of (
1576
- TestAllTypes .getDescriptor ().findFieldByName ("optional_bool" ),
1577
- TestAllTypes .getDescriptor ().findFieldByName ("optional_recursive" ));
1578
-
1579
- assertThat (JsonFormat .printer ().includingDefaultValueFields (fixedFields ).print (message ))
1580
- .isEqualTo ("{\n \" optionalBool\" : false\n }" );
1581
- }
1582
-
1583
- @ Test
1584
- public void testRejectChangingDefaultFieldOptionMultipleTimes () throws Exception {
1585
- Set <FieldDescriptor > fixedFields = new HashSet <>();
1586
- for (FieldDescriptor fieldDesc : TestAllTypes .getDescriptor ().getFields ()) {
1587
- if (fieldDesc .getName ().contains ("_fixed" )) {
1588
- fixedFields .add (fieldDesc );
1589
- }
1590
- }
1591
- try {
1592
- JsonFormat .printer ().includingDefaultValueFields ().includingDefaultValueFields ();
1593
- assertWithMessage ("IllegalStateException is expected." ).fail ();
1594
- } catch (IllegalStateException e ) {
1595
- // Expected.
1596
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1597
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1598
- .isTrue ();
1599
- }
1600
-
1601
- try {
1602
- JsonFormat .printer ().includingDefaultValueFields ().includingDefaultValueFields (fixedFields );
1603
- assertWithMessage ("IllegalStateException is expected." ).fail ();
1604
- } catch (IllegalStateException e ) {
1605
- // Expected.
1606
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1607
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1608
- .isTrue ();
1609
- }
1610
-
1611
- try {
1612
- JsonFormat .printer ().includingDefaultValueFields (fixedFields ).includingDefaultValueFields ();
1613
- assertWithMessage ("IllegalStateException is expected." ).fail ();
1614
- } catch (IllegalStateException e ) {
1615
- // Expected.
1616
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1617
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1618
- .isTrue ();
1619
- }
1620
-
1621
- try {
1622
- JsonFormat .printer ()
1623
- .includingDefaultValueFields (fixedFields )
1624
- .includingDefaultValueFields (fixedFields );
1625
- assertWithMessage ("IllegalStateException is expected." ).fail ();
1626
- } catch (IllegalStateException e ) {
1627
- // Expected.
1628
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1629
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1630
- .isTrue ();
1631
- }
1632
-
1633
- Set <FieldDescriptor > intFields = new HashSet <>();
1634
- for (FieldDescriptor fieldDesc : TestAllTypes .getDescriptor ().getFields ()) {
1635
- if (fieldDesc .getName ().contains ("_int" )) {
1636
- intFields .add (fieldDesc );
1637
- }
1638
- }
1639
-
1640
- try {
1641
- JsonFormat .printer ()
1642
- .includingDefaultValueFields (intFields )
1643
- .includingDefaultValueFields (fixedFields );
1644
- assertWithMessage ("IllegalStateException is expected." ).fail ();
1645
- } catch (IllegalStateException e ) {
1646
- // Expected.
1647
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1648
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1649
- .isTrue ();
1650
- }
1651
-
1652
- try {
1653
- JsonFormat .printer ().includingDefaultValueFields (null );
1654
- assertWithMessage ("IllegalArgumentException is expected." ).fail ();
1655
- } catch (IllegalArgumentException e ) {
1656
- // Expected.
1657
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1658
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1659
- .isTrue ();
1660
- }
1661
-
1662
- try {
1663
- JsonFormat .printer ().includingDefaultValueFields (Collections .<FieldDescriptor >emptySet ());
1664
- assertWithMessage ("IllegalArgumentException is expected." ).fail ();
1665
- } catch (IllegalArgumentException e ) {
1666
- // Expected.
1667
- assertWithMessage ("Exception message should mention includingDefaultValueFields." )
1668
- .that (e .getMessage ().contains ("includingDefaultValueFields" ))
1669
- .isTrue ();
1670
- }
1671
- }
1672
-
1673
- @ Test
1674
- public void testDefaultValuesOptionProto3Maps () throws Exception {
1675
- TestMap mapMessage = TestMap .getDefaultInstance ();
1676
- assertThat (JsonFormat .printer ().print (mapMessage )).isEqualTo ("{\n }" );
1677
- assertThat (JsonFormat .printer ().includingDefaultValueFields ().print (mapMessage ))
1678
- .isEqualTo (
1679
- "{\n "
1680
- + " \" int32ToInt32Map\" : {\n "
1681
- + " },\n "
1682
- + " \" int64ToInt32Map\" : {\n "
1683
- + " },\n "
1684
- + " \" uint32ToInt32Map\" : {\n "
1685
- + " },\n "
1686
- + " \" uint64ToInt32Map\" : {\n "
1687
- + " },\n "
1688
- + " \" sint32ToInt32Map\" : {\n "
1689
- + " },\n "
1690
- + " \" sint64ToInt32Map\" : {\n "
1691
- + " },\n "
1692
- + " \" fixed32ToInt32Map\" : {\n "
1693
- + " },\n "
1694
- + " \" fixed64ToInt32Map\" : {\n "
1695
- + " },\n "
1696
- + " \" sfixed32ToInt32Map\" : {\n "
1697
- + " },\n "
1698
- + " \" sfixed64ToInt32Map\" : {\n "
1699
- + " },\n "
1700
- + " \" boolToInt32Map\" : {\n "
1701
- + " },\n "
1702
- + " \" stringToInt32Map\" : {\n "
1703
- + " },\n "
1704
- + " \" int32ToInt64Map\" : {\n "
1705
- + " },\n "
1706
- + " \" int32ToUint32Map\" : {\n "
1707
- + " },\n "
1708
- + " \" int32ToUint64Map\" : {\n "
1709
- + " },\n "
1710
- + " \" int32ToSint32Map\" : {\n "
1711
- + " },\n "
1712
- + " \" int32ToSint64Map\" : {\n "
1713
- + " },\n "
1714
- + " \" int32ToFixed32Map\" : {\n "
1715
- + " },\n "
1716
- + " \" int32ToFixed64Map\" : {\n "
1717
- + " },\n "
1718
- + " \" int32ToSfixed32Map\" : {\n "
1719
- + " },\n "
1720
- + " \" int32ToSfixed64Map\" : {\n "
1721
- + " },\n "
1722
- + " \" int32ToFloatMap\" : {\n "
1723
- + " },\n "
1724
- + " \" int32ToDoubleMap\" : {\n "
1725
- + " },\n "
1726
- + " \" int32ToBoolMap\" : {\n "
1727
- + " },\n "
1728
- + " \" int32ToStringMap\" : {\n "
1729
- + " },\n "
1730
- + " \" int32ToBytesMap\" : {\n "
1731
- + " },\n "
1732
- + " \" int32ToMessageMap\" : {\n "
1733
- + " },\n "
1734
- + " \" int32ToEnumMap\" : {\n "
1735
- + " }\n "
1736
- + "}" );
1737
- }
1738
-
1739
- @ Test
1740
- public void testDefaultValueOptionsProto3Oneofs () throws Exception {
1741
- TestOneof oneofMessage = TestOneof .getDefaultInstance ();
1742
- assertThat (JsonFormat .printer ().print (oneofMessage )).isEqualTo ("{\n }" );
1743
- assertThat (JsonFormat .printer ().includingDefaultValueFields ().print (oneofMessage ))
1744
- .isEqualTo ("{\n }" );
1745
- assertThat (JsonFormat .printer ().alwaysPrintFieldsWithNoPresence ().print (oneofMessage ))
1746
- .isEqualTo ("{\n }" );
1747
-
1748
- oneofMessage = TestOneof .newBuilder ().setOneofInt32 (42 ).build ();
1749
- assertThat (JsonFormat .printer ().print (oneofMessage )).isEqualTo ("{\n \" oneofInt32\" : 42\n }" );
1750
- assertThat (JsonFormat .printer ().includingDefaultValueFields ().print (oneofMessage ))
1751
- .isEqualTo ("{\n \" oneofInt32\" : 42\n }" );
1752
- assertThat (JsonFormat .printer ().alwaysPrintFieldsWithNoPresence ().print (oneofMessage ))
1753
- .isEqualTo ("{\n \" oneofInt32\" : 42\n }" );
1754
-
1755
- TestOneof .Builder oneofBuilder = TestOneof .newBuilder ();
1756
- mergeFromJson ("{\n " + " \" oneofNullValue\" : null \n " + "}" , oneofBuilder );
1757
- oneofMessage = oneofBuilder .build ();
1758
- assertThat (JsonFormat .printer ().print (oneofMessage ))
1759
- .isEqualTo ("{\n \" oneofNullValue\" : null\n }" );
1760
- assertThat (JsonFormat .printer ().includingDefaultValueFields ().print (oneofMessage ))
1761
- .isEqualTo ("{\n \" oneofNullValue\" : null\n }" );
1762
- assertThat (JsonFormat .printer ().alwaysPrintFieldsWithNoPresence ().print (oneofMessage ))
1763
- .isEqualTo ("{\n \" oneofNullValue\" : null\n }" );
1764
- }
1765
-
1766
- @ Test
1767
- public void testIncludingDefaultValueOptionsWithProto2Optional () throws Exception {
1768
- TestAllTypesProto2 message = TestAllTypesProto2 .getDefaultInstance ();
1769
- assertThat (JsonFormat .printer ().print (message )).isEqualTo ("{\n }" );
1770
- // includingDefaultValueFields() and alwaysPrintFieldsWithNoPresence()
1771
- // behave differently on a proto2 message: the former includes the proto2 explicit presence
1772
- // fields and the latter does not.
1773
- assertThat (JsonFormat .printer ().includingDefaultValueFields ().print (message ))
1774
- .isEqualTo (
1775
- "{\n "
1776
- + " \" optionalInt32\" : 0,\n "
1777
- + " \" optionalInt64\" : \" 0\" ,\n "
1778
- + " \" optionalUint32\" : 0,\n "
1779
- + " \" optionalUint64\" : \" 0\" ,\n "
1780
- + " \" optionalSint32\" : 0,\n "
1781
- + " \" optionalSint64\" : \" 0\" ,\n "
1782
- + " \" optionalFixed32\" : 0,\n "
1783
- + " \" optionalFixed64\" : \" 0\" ,\n "
1784
- + " \" optionalSfixed32\" : 0,\n "
1785
- + " \" optionalSfixed64\" : \" 0\" ,\n "
1786
- + " \" optionalFloat\" : 0.0,\n "
1787
- + " \" optionalDouble\" : 0.0,\n "
1788
- + " \" optionalBool\" : false,\n "
1789
- + " \" optionalString\" : \" \" ,\n "
1790
- + " \" optionalBytes\" : \" \" ,\n "
1791
- + " \" optionalNestedEnum\" : \" FOO\" ,\n "
1792
- + " \" repeatedInt32\" : [],\n "
1793
- + " \" repeatedInt64\" : [],\n "
1794
- + " \" repeatedUint32\" : [],\n "
1795
- + " \" repeatedUint64\" : [],\n "
1796
- + " \" repeatedSint32\" : [],\n "
1797
- + " \" repeatedSint64\" : [],\n "
1798
- + " \" repeatedFixed32\" : [],\n "
1799
- + " \" repeatedFixed64\" : [],\n "
1800
- + " \" repeatedSfixed32\" : [],\n "
1801
- + " \" repeatedSfixed64\" : [],\n "
1802
- + " \" repeatedFloat\" : [],\n "
1803
- + " \" repeatedDouble\" : [],\n "
1804
- + " \" repeatedBool\" : [],\n "
1805
- + " \" repeatedString\" : [],\n "
1806
- + " \" repeatedBytes\" : [],\n "
1807
- + " \" repeatedNestedMessage\" : [],\n "
1808
- + " \" repeatedNestedEnum\" : [],\n "
1809
- + " \" optionalAliasedEnum\" : \" ALIAS_FOO\" ,\n "
1810
- + " \" repeatedRecursive\" : []\n "
1811
- + "}" );
1812
- assertThat (JsonFormat .printer ().alwaysPrintFieldsWithNoPresence ().print (message ))
1813
- .isEqualTo (
1814
- "{\n "
1815
- + " \" repeatedInt32\" : [],\n "
1816
- + " \" repeatedInt64\" : [],\n "
1817
- + " \" repeatedUint32\" : [],\n "
1818
- + " \" repeatedUint64\" : [],\n "
1819
- + " \" repeatedSint32\" : [],\n "
1820
- + " \" repeatedSint64\" : [],\n "
1821
- + " \" repeatedFixed32\" : [],\n "
1822
- + " \" repeatedFixed64\" : [],\n "
1823
- + " \" repeatedSfixed32\" : [],\n "
1824
- + " \" repeatedSfixed64\" : [],\n "
1825
- + " \" repeatedFloat\" : [],\n "
1826
- + " \" repeatedDouble\" : [],\n "
1827
- + " \" repeatedBool\" : [],\n "
1828
- + " \" repeatedString\" : [],\n "
1829
- + " \" repeatedBytes\" : [],\n "
1830
- + " \" repeatedNestedMessage\" : [],\n "
1831
- + " \" repeatedNestedEnum\" : [],\n "
1832
- + " \" repeatedRecursive\" : []\n "
1833
- + "}" );
1834
- }
1835
-
1836
1534
@ Test
1837
1535
public void testDefaultValueForSpecificFieldsOptionProto2 () throws Exception {
1838
1536
TestAllTypesProto2 message = TestAllTypesProto2 .getDefaultInstance ();
0 commit comments