Skip to content

Commit

Permalink
[RGen] Make availability ToString more readable. (#21859)
Browse files Browse the repository at this point in the history
  • Loading branch information
mandel-macaque authored Dec 28, 2024
1 parent 2b49db1 commit db218ca
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,8 @@ public override int GetHashCode ()
public override string ToString ()
{
var sb = new StringBuilder ("{ ");
sb.Append ($"Platform: {Platform} ");
sb.Append ($"Supported: '{SupportedVersion?.ToString ()}' ");
sb.Append ($"Platform: '{Platform}', ");
sb.Append ($"Supported: '{SupportedVersion?.ToString ()}', ");
sb.Append ("Unsupported: [");
sb.AppendJoin (", ", unsupported.Select (v => $"'{v.Key}': '{v.Value?.ToString () ?? "null"}'"));
sb.Append ("], Obsoleted: [");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,49 +16,49 @@ public IEnumerator<object []> GetEnumerator ()
// build platform availabilities to ensure that the string returned is the
// expected one. We will use a builder that we can clear after each yield return
var builder = PlatformAvailability.CreateBuilder (ApplePlatform.iOS);
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: [], Obsoleted: [] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: [], Obsoleted: [] }"];

builder.Clear ();
builder.AddSupportedVersion (new Version (16, 0));
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '16.0' Unsupported: [], Obsoleted: [] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '16.0', Unsupported: [], Obsoleted: [] }"];

builder.Clear ();
builder.AddUnsupportedVersion (new Version (16, 0), null);
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: ['16.0': 'null'], Obsoleted: [] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: ['16.0': 'null'], Obsoleted: [] }"];

builder.Clear ();
builder.AddUnsupportedVersion (new Version (16, 0), "Not supported.");
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: ['16.0': 'Not supported.'], Obsoleted: [] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: ['16.0': 'Not supported.'], Obsoleted: [] }"];

builder.Clear ();
builder.AddUnsupportedVersion (new Version (16, 0), "Not supported.");
builder.AddUnsupportedVersion (new Version (18, 0), "Not supported.");
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: ['16.0': 'Not supported.', '18.0': 'Not supported.'], Obsoleted: [] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: ['16.0': 'Not supported.', '18.0': 'Not supported.'], Obsoleted: [] }"];

builder.Clear ();
builder.AddObsoletedVersion (new Version (16, 0), null, null);
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: [], Obsoleted: ['16.0': ('null', 'null')] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: [], Obsoleted: ['16.0': ('null', 'null')] }"];

builder.Clear ();
builder.AddObsoletedVersion (new Version (16, 0), "Obsoleted method", null);
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: [], Obsoleted: ['16.0': ('Obsoleted method', 'null')] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: [], Obsoleted: ['16.0': ('Obsoleted method', 'null')] }"];

builder.Clear ();
builder.AddObsoletedVersion (new Version (16, 0), "Obsoleted method", "https://bing.com");
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: [], Obsoleted: ['16.0': ('Obsoleted method', 'https://bing.com')] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: [], Obsoleted: ['16.0': ('Obsoleted method', 'https://bing.com')] }"];

builder.Clear ();
builder.AddObsoletedVersion (new Version (16, 0), "Obsoleted method", "https://bing.com");
builder.AddObsoletedVersion (new Version (18, 0), "Obsoleted method", "https://bing.com");
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '' Unsupported: [], Obsoleted: ['16.0': ('Obsoleted method', 'https://bing.com'), '18.0': ('Obsoleted method', 'https://bing.com')] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '', Unsupported: [], Obsoleted: ['16.0': ('Obsoleted method', 'https://bing.com'), '18.0': ('Obsoleted method', 'https://bing.com')] }"];

builder.Clear ();
builder.AddSupportedVersion (new Version (16, 0));
builder.AddUnsupportedVersion (new Version (16, 0), "Not supported.");
builder.AddUnsupportedVersion (new Version (18, 0), "Not supported.");
builder.AddObsoletedVersion (new Version (16, 0), "Obsoleted method", "https://bing.com");
builder.AddObsoletedVersion (new Version (18, 0), "Obsoleted method", "https://bing.com");
yield return [builder.ToImmutable (), "{ Platform: iOS Supported: '16.0' Unsupported: ['16.0': 'Not supported.', '18.0': 'Not supported.'], Obsoleted: ['16.0': ('Obsoleted method', 'https://bing.com'), '18.0': ('Obsoleted method', 'https://bing.com')] }"];
yield return [builder.ToImmutable (), "{ Platform: 'iOS', Supported: '16.0', Unsupported: ['16.0': 'Not supported.', '18.0': 'Not supported.'], Obsoleted: ['16.0': ('Obsoleted method', 'https://bing.com'), '18.0': ('Obsoleted method', 'https://bing.com')] }"];
}

IEnumerator IEnumerable.GetEnumerator ()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,31 @@ public IEnumerator<object []> GetEnumerator ()

builder.Clear ();
builder.AddSupportedVersion (ApplePlatform.iOS, new (16, 0));
yield return [builder.ToImmutable (), "[{ Platform: iOS Supported: '16.0' Unsupported: [], Obsoleted: [] }]"];
yield return [builder.ToImmutable (), "[{ Platform: 'iOS', Supported: '16.0', Unsupported: [], Obsoleted: [] }]"];

builder.Clear ();
builder.AddSupportedVersion (ApplePlatform.TVOS, new (16, 0));
yield return [builder.ToImmutable (), "[{ Platform: TVOS Supported: '16.0' Unsupported: [], Obsoleted: [] }]"];
yield return [builder.ToImmutable (), "[{ Platform: 'TVOS', Supported: '16.0', Unsupported: [], Obsoleted: [] }]"];

builder.Clear ();
builder.AddSupportedVersion (ApplePlatform.MacOSX, new (11, 0));
yield return [builder.ToImmutable (), "[{ Platform: MacOSX Supported: '11.0' Unsupported: [], Obsoleted: [] }]"];
yield return [builder.ToImmutable (), "[{ Platform: 'MacOSX', Supported: '11.0', Unsupported: [], Obsoleted: [] }]"];

builder.Clear ();
builder.AddSupportedVersion (ApplePlatform.MacCatalyst, new (16, 0));
yield return [builder.ToImmutable (), "[{ Platform: MacCatalyst Supported: '16.0' Unsupported: [], Obsoleted: [] }]"];
yield return [builder.ToImmutable (), "[{ Platform: 'MacCatalyst', Supported: '16.0', Unsupported: [], Obsoleted: [] }]"];

builder.Clear ();
builder.AddSupportedVersion (ApplePlatform.iOS, new (16, 0));
builder.AddSupportedVersion (ApplePlatform.MacOSX, new (11, 0));
builder.AddSupportedVersion (ApplePlatform.MacCatalyst, new (16, 0));
yield return [builder.ToImmutable (), "[{ Platform: MacOSX Supported: '11.0' Unsupported: [], Obsoleted: [] }, { Platform: iOS Supported: '16.0' Unsupported: [], Obsoleted: [] }, { Platform: MacCatalyst Supported: '16.0' Unsupported: [], Obsoleted: [] }]"];
yield return [builder.ToImmutable (), "[{ Platform: 'MacOSX', Supported: '11.0', Unsupported: [], Obsoleted: [] }, { Platform: 'iOS', Supported: '16.0', Unsupported: [], Obsoleted: [] }, { Platform: 'MacCatalyst', Supported: '16.0', Unsupported: [], Obsoleted: [] }]"];

builder.Clear ();
builder.AddSupportedVersion (ApplePlatform.iOS, new (16, 0));
builder.AddUnsupportedVersion (ApplePlatform.MacOSX, new (11, 0), null);
builder.AddSupportedVersion (ApplePlatform.MacCatalyst, new (16, 0));
yield return [builder.ToImmutable (), "[{ Platform: MacOSX Supported: '' Unsupported: ['11.0': 'null'], Obsoleted: [] }, { Platform: iOS Supported: '16.0' Unsupported: [], Obsoleted: [] }, { Platform: MacCatalyst Supported: '16.0' Unsupported: [], Obsoleted: [] }]"];
yield return [builder.ToImmutable (), "[{ Platform: 'MacOSX', Supported: '', Unsupported: ['11.0': 'null'], Obsoleted: [] }, { Platform: 'iOS', Supported: '16.0', Unsupported: [], Obsoleted: [] }, { Platform: 'MacCatalyst', Supported: '16.0', Unsupported: [], Obsoleted: [] }]"];
}

IEnumerator IEnumerable.GetEnumerator ()
Expand Down

9 comments on commit db218ca

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

@vs-mobiletools-engineering-service2

This comment was marked as outdated.

Please sign in to comment.