|
@@ -215,6 +215,10 @@ describe('Message test suite', function() {
|
|
|
assertEquals(true, response.getBoolField());
|
|
assertEquals(true, response.getBoolField());
|
|
|
assertEquals(11, response.getIntField());
|
|
assertEquals(11, response.getIntField());
|
|
|
assertEquals(13, response.getEnumField());
|
|
assertEquals(13, response.getEnumField());
|
|
|
|
|
+ assertFalse(response.hasStringField());
|
|
|
|
|
+ assertFalse(response.hasBoolField());
|
|
|
|
|
+ assertFalse(response.hasIntField());
|
|
|
|
|
+ assertFalse(response.hasEnumField());
|
|
|
|
|
|
|
|
// Test with null values, as would be returned by a JSON serializer.
|
|
// Test with null values, as would be returned by a JSON serializer.
|
|
|
response = makeDefault([null, null, null, null]);
|
|
response = makeDefault([null, null, null, null]);
|
|
@@ -222,6 +226,10 @@ describe('Message test suite', function() {
|
|
|
assertEquals(true, response.getBoolField());
|
|
assertEquals(true, response.getBoolField());
|
|
|
assertEquals(11, response.getIntField());
|
|
assertEquals(11, response.getIntField());
|
|
|
assertEquals(13, response.getEnumField());
|
|
assertEquals(13, response.getEnumField());
|
|
|
|
|
+ assertFalse(response.hasStringField());
|
|
|
|
|
+ assertFalse(response.hasBoolField());
|
|
|
|
|
+ assertFalse(response.hasIntField());
|
|
|
|
|
+ assertFalse(response.hasEnumField());
|
|
|
|
|
|
|
|
// Test with false-like values.
|
|
// Test with false-like values.
|
|
|
response = makeDefault(['', false, 0, 0]);
|
|
response = makeDefault(['', false, 0, 0]);
|
|
@@ -229,6 +237,10 @@ describe('Message test suite', function() {
|
|
|
assertEquals(false, response.getBoolField());
|
|
assertEquals(false, response.getBoolField());
|
|
|
assertEquals(true, response.getIntField() == 0);
|
|
assertEquals(true, response.getIntField() == 0);
|
|
|
assertEquals(true, response.getEnumField() == 0);
|
|
assertEquals(true, response.getEnumField() == 0);
|
|
|
|
|
+ assertTrue(response.hasStringField());
|
|
|
|
|
+ assertTrue(response.hasBoolField());
|
|
|
|
|
+ assertTrue(response.hasIntField());
|
|
|
|
|
+ assertTrue(response.hasEnumField());
|
|
|
|
|
|
|
|
// Test that clearing the values reverts them to the default state.
|
|
// Test that clearing the values reverts them to the default state.
|
|
|
response = makeDefault(['blah', false, 111, 77]);
|
|
response = makeDefault(['blah', false, 111, 77]);
|
|
@@ -238,6 +250,10 @@ describe('Message test suite', function() {
|
|
|
assertEquals(true, response.getBoolField());
|
|
assertEquals(true, response.getBoolField());
|
|
|
assertEquals(11, response.getIntField());
|
|
assertEquals(11, response.getIntField());
|
|
|
assertEquals(13, response.getEnumField());
|
|
assertEquals(13, response.getEnumField());
|
|
|
|
|
+ assertFalse(response.hasStringField());
|
|
|
|
|
+ assertFalse(response.hasBoolField());
|
|
|
|
|
+ assertFalse(response.hasIntField());
|
|
|
|
|
+ assertFalse(response.hasEnumField());
|
|
|
|
|
|
|
|
// Test that setFoo(null) clears the values.
|
|
// Test that setFoo(null) clears the values.
|
|
|
response = makeDefault(['blah', false, 111, 77]);
|
|
response = makeDefault(['blah', false, 111, 77]);
|
|
@@ -247,6 +263,10 @@ describe('Message test suite', function() {
|
|
|
assertEquals(true, response.getBoolField());
|
|
assertEquals(true, response.getBoolField());
|
|
|
assertEquals(11, response.getIntField());
|
|
assertEquals(11, response.getIntField());
|
|
|
assertEquals(13, response.getEnumField());
|
|
assertEquals(13, response.getEnumField());
|
|
|
|
|
+ assertFalse(response.hasStringField());
|
|
|
|
|
+ assertFalse(response.hasBoolField());
|
|
|
|
|
+ assertFalse(response.hasIntField());
|
|
|
|
|
+ assertFalse(response.hasEnumField());
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
it('testMessageRegistration', function() {
|
|
it('testMessageRegistration', function() {
|
|
@@ -269,6 +289,8 @@ describe('Message test suite', function() {
|
|
|
assertUndefined(foo.getAString());
|
|
assertUndefined(foo.getAString());
|
|
|
assertUndefined(foo.getABool());
|
|
assertUndefined(foo.getABool());
|
|
|
assertUndefined(foo.getANestedMessage());
|
|
assertUndefined(foo.getANestedMessage());
|
|
|
|
|
+ assertFalse(foo.hasAString());
|
|
|
|
|
+ assertFalse(foo.hasABool());
|
|
|
assertObjectEquals([], foo.getARepeatedMessageList());
|
|
assertObjectEquals([], foo.getARepeatedMessageList());
|
|
|
assertObjectEquals([], foo.getARepeatedStringList());
|
|
assertObjectEquals([], foo.getARepeatedStringList());
|
|
|
// NOTE: We want the missing fields in 'expected' to be undefined,
|
|
// NOTE: We want the missing fields in 'expected' to be undefined,
|
|
@@ -291,6 +313,8 @@ describe('Message test suite', function() {
|
|
|
assertNull(foo.getAString());
|
|
assertNull(foo.getAString());
|
|
|
assertNull(foo.getABool());
|
|
assertNull(foo.getABool());
|
|
|
assertNull(foo.getANestedMessage());
|
|
assertNull(foo.getANestedMessage());
|
|
|
|
|
+ assertFalse(foo.hasAString());
|
|
|
|
|
+ assertFalse(foo.hasABool());
|
|
|
assertObjectEquals([], foo.getARepeatedMessageList());
|
|
assertObjectEquals([], foo.getARepeatedMessageList());
|
|
|
assertObjectEquals([], foo.getARepeatedStringList());
|
|
assertObjectEquals([], foo.getARepeatedStringList());
|
|
|
assertObjectEquals([null, null, null, [], []], foo.toArray());
|
|
assertObjectEquals([null, null, null, [], []], foo.toArray());
|
|
@@ -307,6 +331,8 @@ describe('Message test suite', function() {
|
|
|
assertUndefined(foo.getAString());
|
|
assertUndefined(foo.getAString());
|
|
|
assertUndefined(foo.getABool());
|
|
assertUndefined(foo.getABool());
|
|
|
assertUndefined(foo.getANestedMessage());
|
|
assertUndefined(foo.getANestedMessage());
|
|
|
|
|
+ assertFalse(foo.hasAString());
|
|
|
|
|
+ assertFalse(foo.hasABool());
|
|
|
assertObjectEquals([], foo.getARepeatedMessageList());
|
|
assertObjectEquals([], foo.getARepeatedMessageList());
|
|
|
assertObjectEquals([], foo.getARepeatedStringList());
|
|
assertObjectEquals([], foo.getARepeatedStringList());
|
|
|
expected = [,,, [], []];
|
|
expected = [,,, [], []];
|
|
@@ -800,14 +826,20 @@ describe('Message test suite', function() {
|
|
|
var message = new proto.jspb.test.TestMessageWithOneof;
|
|
var message = new proto.jspb.test.TestMessageWithOneof;
|
|
|
assertUndefined(message.getPone());
|
|
assertUndefined(message.getPone());
|
|
|
assertUndefined(message.getPthree());
|
|
assertUndefined(message.getPthree());
|
|
|
|
|
+ assertFalse(message.hasPone());
|
|
|
|
|
+ assertFalse(message.hasPthree());
|
|
|
|
|
|
|
|
message.setPone('hi');
|
|
message.setPone('hi');
|
|
|
assertEquals('hi', message.getPone());
|
|
assertEquals('hi', message.getPone());
|
|
|
assertUndefined(message.getPthree());
|
|
assertUndefined(message.getPthree());
|
|
|
|
|
+ assertTrue(message.hasPone());
|
|
|
|
|
+ assertFalse(message.hasPthree());
|
|
|
|
|
|
|
|
message.setPthree('bye');
|
|
message.setPthree('bye');
|
|
|
assertUndefined(message.getPone());
|
|
assertUndefined(message.getPone());
|
|
|
assertEquals('bye', message.getPthree());
|
|
assertEquals('bye', message.getPthree());
|
|
|
|
|
+ assertFalse(message.hasPone());
|
|
|
|
|
+ assertTrue(message.hasPthree());
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
it('testSettingOneofFieldDoesNotClearFieldsFromOtherUnions', function() {
|
|
it('testSettingOneofFieldDoesNotClearFieldsFromOtherUnions', function() {
|
|
@@ -816,17 +848,23 @@ describe('Message test suite', function() {
|
|
|
assertUndefined(message.getPone());
|
|
assertUndefined(message.getPone());
|
|
|
assertUndefined(message.getPthree());
|
|
assertUndefined(message.getPthree());
|
|
|
assertUndefined(message.getRone());
|
|
assertUndefined(message.getRone());
|
|
|
|
|
+ assertFalse(message.hasPone());
|
|
|
|
|
+ assertFalse(message.hasPthree());
|
|
|
|
|
|
|
|
message.setPone('hi');
|
|
message.setPone('hi');
|
|
|
message.setRone(other);
|
|
message.setRone(other);
|
|
|
assertEquals('hi', message.getPone());
|
|
assertEquals('hi', message.getPone());
|
|
|
assertUndefined(message.getPthree());
|
|
assertUndefined(message.getPthree());
|
|
|
assertEquals(other, message.getRone());
|
|
assertEquals(other, message.getRone());
|
|
|
|
|
+ assertTrue(message.hasPone());
|
|
|
|
|
+ assertFalse(message.hasPthree());
|
|
|
|
|
|
|
|
message.setPthree('bye');
|
|
message.setPthree('bye');
|
|
|
assertUndefined(message.getPone());
|
|
assertUndefined(message.getPone());
|
|
|
assertEquals('bye', message.getPthree());
|
|
assertEquals('bye', message.getPthree());
|
|
|
assertEquals(other, message.getRone());
|
|
assertEquals(other, message.getRone());
|
|
|
|
|
+ assertFalse(message.hasPone());
|
|
|
|
|
+ assertTrue(message.hasPthree());
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
it('testUnsetsOneofCaseWhenFieldIsCleared', function() {
|
|
it('testUnsetsOneofCaseWhenFieldIsCleared', function() {
|
|
@@ -884,6 +922,8 @@ describe('Message test suite', function() {
|
|
|
var message = new proto.jspb.test.TestMessageWithOneof;
|
|
var message = new proto.jspb.test.TestMessageWithOneof;
|
|
|
assertUndefined(message.getBone());
|
|
assertUndefined(message.getBone());
|
|
|
assertEquals(1234, message.getBtwo());
|
|
assertEquals(1234, message.getBtwo());
|
|
|
|
|
+ assertFalse(message.hasBone());
|
|
|
|
|
+ assertFalse(message.hasBtwo());
|
|
|
assertEquals(
|
|
assertEquals(
|
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase
|
|
|
.DEFAULT_ONEOF_B_NOT_SET,
|
|
.DEFAULT_ONEOF_B_NOT_SET,
|
|
@@ -892,12 +932,16 @@ describe('Message test suite', function() {
|
|
|
message.setBone(2);
|
|
message.setBone(2);
|
|
|
assertEquals(2, message.getBone());
|
|
assertEquals(2, message.getBone());
|
|
|
assertEquals(1234, message.getBtwo());
|
|
assertEquals(1234, message.getBtwo());
|
|
|
|
|
+ assertTrue(message.hasBone());
|
|
|
|
|
+ assertFalse(message.hasBtwo());
|
|
|
assertEquals(
|
|
assertEquals(
|
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase.BONE,
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase.BONE,
|
|
|
message.getDefaultOneofBCase());
|
|
message.getDefaultOneofBCase());
|
|
|
|
|
|
|
|
message.setBtwo(3);
|
|
message.setBtwo(3);
|
|
|
assertUndefined(message.getBone());
|
|
assertUndefined(message.getBone());
|
|
|
|
|
+ assertFalse(message.hasBone());
|
|
|
|
|
+ assertTrue(message.hasBtwo());
|
|
|
assertEquals(3, message.getBtwo());
|
|
assertEquals(3, message.getBtwo());
|
|
|
assertEquals(
|
|
assertEquals(
|
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase.BTWO,
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase.BTWO,
|
|
@@ -905,6 +949,8 @@ describe('Message test suite', function() {
|
|
|
|
|
|
|
|
message.clearBtwo();
|
|
message.clearBtwo();
|
|
|
assertUndefined(message.getBone());
|
|
assertUndefined(message.getBone());
|
|
|
|
|
+ assertFalse(message.hasBone());
|
|
|
|
|
+ assertFalse(message.hasBtwo());
|
|
|
assertEquals(1234, message.getBtwo());
|
|
assertEquals(1234, message.getBtwo());
|
|
|
assertEquals(
|
|
assertEquals(
|
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase
|
|
proto.jspb.test.TestMessageWithOneof.DefaultOneofBCase
|