Skip to content

Update the way that JSON map values are encoded on wire

4034382
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

[ECO-5500] Add support for JSON-valued map values and update the wire representation of these values #45

Update the way that JSON map values are encoded on wire
4034382
Select commit
Loading
Failed to load commit list.
GitHub Actions / Code coverage results succeeded Aug 1, 2025 in 0s

Xcode test results

Testing workspace AblyLiveObjects with scheme AblyLiveObjects

Summary

TotalSuccess PassedFailure FailedSkipped SkippedExpected Failure Expected Failure⏱️ Time
30729801836.00s

Test Summary

AblyLiveObjectsTests

  • Device: Apple Virtual Machine 1, 15.5 (24F74)
  • SDK: macOS 15.4, 15.4
TestTotalSuccessFailureSkippedExpected Failure
test-class AblyLiveObjectsTests33000
test-class MergeInitialValueTests77000
test-class CounterCreateOperationTests22000
test-class CounterIncOperationTests22000
test-class WithCreateOpTests11000
test-class WithoutCreateOpTests33000
test-class ReplaceDataTests55000
test-class ValueTests33000
test-class ApplyOperationTests1515000
test-class AccessPropertiesTests55000
test-class NoExistingEntryTests55000
test-class ExistingEntryTests66000
test-class MapOperationApplicabilityTests1515000
test-class MapCreateOperationTests22000
test-class MapSetOperationTests11000
test-class GetTests1414000
test-class CanApplyOperationTests1010000
test-class UnsubscribeTests43010
test-class EmitTests22000
test-class SubscriptionTests22000
test-class RoundTripTests1212000
test-class MessagePackTests1919000
test-class JSONTests1818000
test-class SyncCursorTests66000
test-class ObjectsIntegrationTests168008
test-class ApplySyncObjectsPoolTests88000
test-class CreateZeroValueObjectTests55000
test-class ObjectLifetimesTests33000
test-class WireValueTests2626000
test-class BufferOperationTests11000
test-class HandleObjectSyncProtocolMessageTests88000
test-class GetRootTests77000
test-class OnChannelAttachedTests66000
test-class WireObjectStateTests44000
test-class InboundWireObjectMessageDecodingTests88000
test-class WireObjectDataTests44000
test-class OutboundWireObjectMessageEncodingTests22000
test-class WireMapOpTests44000
test-class WireMapEntryTests44000
test-class WireCounterOpTests22000
test-class WireObjectOperationTests55000
test-class WireCounterTests44000
test-class WireMapTests55000
test-class JSONValueTests2222000
test-class InternalErrorTests11000

Failure Failures

All tests passed 🎉


Code Coverage

Coverage Covered Executable
AblyLiveObjects 83.09 % 3056 3678
  PublicDefaultRealtimeObjects.swift 59.62 % 31 52
  SyncCursor.swift 100.00 % 23 23
  APLogger+Swift.swift 100.00 % 3 3
  DefaultInternalPlugin.swift 90.00 % 108 120
  WireEnum.swift 93.33 % 14 15
  InternalLiveMapValue.swift 61.11 % 33 54
  InternalLiveMapValue+ToPublic.swift 100.00 % 26 26
  WireValue.swift 65.93 % 120 182
  ObjectMessage.swift 83.93 % 235 280
  PublicDefaultLiveCounter.swift 30.77 % 8 26
  JSONValue.swift 69.94 % 121 173
  CoreSDK.swift 100.00 % 26 26
  ARTRealtimeChannel+Objects.swift 100.00 % 27 27
  Data+Extensions.swift 100.00 % 6 6
  InternalObjectsMapEntry.swift 100.00 % 5 5
  ExtendedJSONValue.swift 78.21 % 61 78
  InternalDefaultLiveMap.swift 94.77 % 670 707
  WireCodable.swift 54.19 % 123 227
  NSLock+Extensions.swift 100.00 % 5 5
  ObjectsPool.swift 96.26 % 206 214
  Dictionary+Extensions.swift 100.00 % 8 8
  SyncObjectsPoolEntry.swift 100.00 % 4 4
  PublicDefaultLiveMap.swift 21.18 % 18 85
  Assertions.swift 0.00 % 0 11
  Errors.swift 100.00 % 25 25
  InternalError.swift 86.67 % 13 15
  LiveObjectUpdate.swift 71.43 % 10 14
  InternalDefaultLiveCounter.swift 86.79 % 230 265
  PublicTypes.swift 55.34 % 57 103
  PublicObjectsStore.swift 100.00 % 121 121
  InternalDefaultRealtimeObjects.swift 91.20 % 342 375
  LiveObjectMutableState.swift 100.00 % 78 78
  WireObjectMessage.swift 92.83 % 298 321
  SimpleClock.swift 25.00 % 1 4
AblyLiveObjectsTests 82.73 % 9208 11130
  InternalDefaultLiveCounter.swift 86.79 % 230 265
  ObjectMessage.swift 83.93 % 235 280
  Assertions.swift 0.00 % 0 11
  SyncObjectsPoolEntry.swift 100.00 % 4 4
  LiveObjectMutableStateTests.swift 86.26 % 182 211
  JSONValue.swift 69.94 % 121 173
  TestFactories.swift 76.66 % 220 287
  Assertions.swift 0.00 % 0 11
  ObjectsPool.swift 96.26 % 206 214
  PublicDefaultLiveCounter.swift 30.77 % 8 26
  InternalErrorTests.swift 90.91 % 10 11
  Dictionary+Extensions.swift 100.00 % 8 8
  TestLogger.swift 16.67 % 5 30
  WireValue.swift 65.93 % 120 182
  WireCodable.swift 54.19 % 123 227
  Errors.swift 100.00 % 25 25
  InternalError.swift 86.67 % 13 15
  PublicTypes.swift 55.34 % 57 103
  MockCoreSDK.swift 52.17 % 12 23
  AblyLiveObjectsTests.swift 100.00 % 114 114
  InternalDefaultLiveMap.swift 94.77 % 670 707
  NSLock+Extensions.swift 100.00 % 5 5
  LiveObjectUpdate.swift 71.43 % 10 14
  APLogger+Swift.swift 100.00 % 3 3
  InternalDefaultLiveMapTests.swift 100.00 % 990 990
  ARTRealtimeChannel+Objects.swift 100.00 % 27 27
  TestProxyTransport.swift 28.12 % 124 441
  ClientHelper.swift 92.31 % 24 26
  WireObjectMessage.swift 92.83 % 298 321
  MockLiveMapObjectPoolDelegate.swift 100.00 % 21 21
  SyncCursorTests.swift 93.02 % 80 86
  ObjectLifetimesTests.swift 100.00 % 438 438
  SyncCursor.swift 100.00 % 23 23
  DefaultInternalPlugin.swift 90.00 % 108 120
  ObjectsHelper.swift 35.68 % 147 412
  InternalLiveMapValue.swift 61.11 % 33 54
  SimpleClock.swift 25.00 % 1 4
  WireEnum.swift 93.33 % 14 15
  InternalLiveMapValue+ToPublic.swift 100.00 % 26 26
  Data+Extensions.swift 100.00 % 6 6
  Sandbox.swift 98.31 % 58 59
  LiveObjectMutableState.swift 100.00 % 78 78
  InternalDefaultRealtimeObjects.swift 91.20 % 342 375
  ExtendedJSONValue.swift 78.21 % 61 78
  InternalDefaultLiveCounterTests.swift 100.00 % 332 332
  Subscriber.swift 98.39 % 61 62
  Ably+Concurrency.swift 64.65 % 64 99
  ObjectsPoolTests.swift 100.00 % 311 311
  CoreSDK.swift 100.00 % 26 26
  PublicDefaultLiveMap.swift 21.18 % 18 85
  PublicDefaultRealtimeObjects.swift 59.62 % 31 52
  ObjectMessageTests.swift 99.38 % 319 321
  InternalDefaultRealtimeObjectsTests.swift 99.66 % 876 879
  JSONValueTests.swift 100.00 % 108 108
  InternalObjectsMapEntry.swift 100.00 % 5 5
  WireObjectMessageTests.swift 100.00 % 508 508
  ObjectsIntegrationTests.swift 62.26 % 825 1325
  MockSimpleClock.swift 14.29 % 4 28
  WireValueTests.swift 100.00 % 319 319
  PublicObjectsStore.swift 100.00 % 121 121
Total 82.82 % 12264 14808

Details

Test Details

AblyLiveObjectsTestsback

AblyLiveObjectsTests back

SuccessFailureSkippedExpected Failure⏱️
3 (75%)0 (0%)0 (0%)0 (0%)5.00s

All tests passed 🎉

MergeInitialValueTests back

SuccessFailureSkippedExpected Failure⏱️
7 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

CounterCreateOperationTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

CounterIncOperationTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

WithCreateOpTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WithoutCreateOpTests back

SuccessFailureSkippedExpected Failure⏱️
3 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

ReplaceDataTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

ValueTests back

SuccessFailureSkippedExpected Failure⏱️
3 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

ApplyOperationTests back

SuccessFailureSkippedExpected Failure⏱️
15 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

AccessPropertiesTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

NoExistingEntryTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

ExistingEntryTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

MapOperationApplicabilityTests back

SuccessFailureSkippedExpected Failure⏱️
15 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

MapCreateOperationTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

MapSetOperationTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

GetTests back

SuccessFailureSkippedExpected Failure⏱️
14 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

CanApplyOperationTests back

SuccessFailureSkippedExpected Failure⏱️
10 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

UnsubscribeTests back

SuccessFailureSkippedExpected Failure⏱️
3 (75%)0 (0%)1 (25%)0 (0%)1.00s

All tests passed 🎉

EmitTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

SubscriptionTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

RoundTripTests back

SuccessFailureSkippedExpected Failure⏱️
12 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

MessagePackTests back

SuccessFailureSkippedExpected Failure⏱️
19 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

JSONTests back

SuccessFailureSkippedExpected Failure⏱️
18 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

SyncCursorTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

ObjectsIntegrationTests back

SuccessFailureSkippedExpected Failure⏱️
8 (50%)0 (0%)0 (0%)8 (50%)5.00s

All tests passed 🎉

ApplySyncObjectsPoolTests back

SuccessFailureSkippedExpected Failure⏱️
8 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

CreateZeroValueObjectTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

ObjectLifetimesTests back

SuccessFailureSkippedExpected Failure⏱️
3 (100%)0 (0%)0 (0%)0 (0%)5.00s

All tests passed 🎉

WireValueTests back

SuccessFailureSkippedExpected Failure⏱️
26 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

BufferOperationTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

HandleObjectSyncProtocolMessageTests back

SuccessFailureSkippedExpected Failure⏱️
8 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

GetRootTests back

SuccessFailureSkippedExpected Failure⏱️
7 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

OnChannelAttachedTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WireObjectStateTests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

InboundWireObjectMessageDecodingTests back

SuccessFailureSkippedExpected Failure⏱️
8 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WireObjectDataTests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

OutboundWireObjectMessageEncodingTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

WireMapOpTests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

WireMapEntryTests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WireCounterOpTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WireObjectOperationTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WireCounterTests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

WireMapTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)1.00s

All tests passed 🎉

JSONValueTests back

SuccessFailureSkippedExpected Failure⏱️
22 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉

InternalErrorTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s

All tests passed 🎉