Commit Graph
101 Commits
Author SHA1 Message Date
Stephen Celis 7e93bd7b0b wip 2026-02-07 12:44:54 -08:00
Stephen Celis 4474243959 wip 2026-02-06 21:29:02 -08:00
Stephen Celis a245c3052e wip 2026-02-06 20:53:39 -08:00
Stephen Celis e2dd79b5ef wip 2026-02-06 20:37:23 -08:00
Stephen Celis bcbaf77c8a wip 2026-02-06 20:10:34 -08:00
Stephen Celis 852ce9ef67 wip 2026-02-05 22:31:22 -08:00
Stephen Celis 9760ddd571 nested custom dump 2026-02-05 17:43:07 -08:00
Stephen Celis 634aad4421 wip 2026-02-05 17:25:57 -08:00
Stephen Celis 8848746071 diff 2026-02-05 17:25:17 -08:00
Stephen Celis e46cfa955a wip 2026-02-05 17:18:06 -08:00
Brandon Williams 91b3f8367c wip 2026-02-05 15:48:14 -06:00
Stephen Celis b2c39297e5 wip 2026-02-03 14:12:37 -08:00
Stephen Celis 3c15303338 wip 2026-02-03 12:18:15 -08:00
Brandon Williams aa86c6a697 CustomDump macro 2026-02-03 12:44:07 -06:00
Brandon Williams e0ac4faac8 DiffableState for asserting against reference types. 2026-02-01 13:32:18 -06:00
stephencelis 2a2a938798 Run swift-format 2026-01-29 18:35:59 +00:00
5a13afda96 Fix UISplitViewController.Column.inspector availability (#151)
* Fix UISplitViewController.Column.inspector availability

The .inspector case is only available on iOS 17+, but the extension
was declared as available from iOS 14.0. This caused compilation
errors on older SDK versions.

Added #if compiler(>=5.9) guard to conditionally compile the
.inspector case only when building with Xcode 15+ (iOS 17 SDK).

* Update Sources/CustomDump/Conformances/UIKit.swift

Co-authored-by: Brian Keane <lonesomewhistle@gmail.com>

---------

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>
Co-authored-by: Brian Keane <lonesomewhistle@gmail.com>
2026-01-29 10:35:43 -08:00
Lennard Sprong 91be35a71a Support enums in UISplitViewController (#147)
* Support enums in `UISplitViewController`

* Add conditional compilation for Xcode 26

* Fix availability for UISplitViewController.BackgroundStyle
2026-01-19 09:19:24 -08:00
Stephen Celis 4b06621f13 Fail when expectDifference doesn't actually make a change (#149)
* Fail when `expectDifference` doesn't actually make a change

This makes it more in line with TCA's test store.

* CI

* wip

* wip

* wip
2026-01-16 14:14:33 -08:00
stephencelis ef14a56817 Run swift-format 2026-01-14 20:31:32 +00:00
5c01e770a9 Support UTType from UniformTypeIdentifiers (#144)
* Support `UniformTypeIdentifiers`

* Update Sources/CustomDump/Conformances/UniformTypeIdentifiers.swift

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>

* Update UniformTypeIdentifiersTests to use UTType

---------

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2026-01-14 12:31:05 -08:00
Stephen CelisandBrandon Williams 93a8aa4937 Swift 6.2: Make expectDifference nonisolated(nonsending) (#145)
* Relax sendability in expectDifference.

* nonisolated(nonsending)

* fix

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* remove android ci

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2026-01-13 15:27:26 -08:00
stephencelis d9dd49cbe2 Run swift-format 2025-11-14 21:22:15 +00:00
Stephen Celis c3671e8409 Fix infinite loop when diffing non-equatable recursive objects (#137)
* Fix infinite loop when diffing non-equatable recursive objects

Fixes #136.

* wip

* wip

* wip

* wip

* wip
2025-02-21 22:51:17 -08:00
Malte 743ace306f update doc for expectDifference (#132) 2024-10-16 11:00:20 -07:00
Shai Mishali 4c7b915994 expectDifference/expectNoDifference rename cleanups (#129)
While upgrading I noticed some of the docs / existing tests still use the old naming, so took a few moments to update.
2024-08-21 17:45:10 -04:00
Sven A. Schmidt 82645ec760 Fix Swift 6 concurency error (#127) 2024-08-02 08:12:11 -07:00
Stephen CelisandBrandon Williams d237304f42 Swift Testing support (#124)
* Swift testing

* wip

* wip

* wip

* test

* wip

* wip

* wip

* wip

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2024-07-22 15:03:56 -07:00
Stephen Celis f48c096f85 Swift Language Support: Drop <5.9, Add 6.0 (#121)
* Swift Language Support: Drop <5.9, Add 6.0

* wip

* wip

* wip

* wip

* wip
2024-06-18 08:03:05 -07:00
Brandon Williams a918a380cc Fix sendable warnings. (#117) 2024-04-17 15:35:35 -07:00
stephencelis 2a7c7110f6 Run swift-format 2024-03-12 21:38:02 +00:00
Stephen Celis f01efb26f3 Improve object diffing tools (#111)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* Swift 5.7 fix

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2024-03-12 14:31:41 -07:00
Stephen Celis 3ce83179e5 Fix Xcode 15.3 Release Crash (#108)
A SIL function we load seems to be unavailable, so let's limit old key
path printing to DEBUG builds.
2024-02-27 10:24:39 -08:00
Stephen Celis 6ea3b1b6a4 Add experimental support for "diffable" objects (#105)
* Experimental protocol to diff an object w/ history

* wip

* wip

* test

* wip

* wip

* wip

* wip
2024-02-09 13:51:53 -08:00
Stephen Celis cc390880a3 DocC (#103)
* DocC

* wip
2024-02-09 13:11:21 -08:00
Aaron Farnham aedcf6f4cd Update for visionOS beta 6 (#101) 2023-11-27 10:08:55 -08:00
Stephen Celis 65fc9e2b62 wip 2023-10-31 13:23:42 -07:00
Stephen Celis b803caace2 Filter properties prefixed with _$ (#100) 2023-09-28 06:57:43 -07:00
stephencelis c2012e1ead Run swift-format 2023-08-23 21:25:26 +00:00
Stephen CelisandBrandon Williams 056dea6d9f Add XCTAssertDifference for exhaustively testing changes to values (#51)
* Add `XCTAssertDifference` for testing changes to values

* wip

* wip

* Docs

* Update Tests/CustomDumpTests/XCTAssertDifferenceTests.swift

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>

* wip

* wip

---------

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>
2023-08-23 14:19:10 -07:00
Stephen Celis a146af9748 Restore key path debug description in 5.9 (#95) 2023-07-12 11:41:23 -07:00
Stephen Celis 3a35f7892e visionOS Support (#94)
* visionOS Support

* wip

* try again
2023-06-21 16:48:27 -07:00
Rhys Morgan 2751e27175 Allows CustomDump to build on visionOS/xrOS (#93) 2023-06-21 15:50:10 -07:00
Stephen Celis 9bc76705ca Add dump format for Duration (#92)
* Add dump format for Duration

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2023-06-20 16:28:04 -07:00
Stephen Celis 505aa98716 Sort unordered dictionaries when nested in another type (#91)
Fixes #87.

The generic `T` is `Any` when traversing deeper into the mirror. It's
possible that we should be opening existentials more explicitly at each
layer, but we already have the mirror's subject type, so we can use that
instead.
2023-05-12 09:10:32 -07:00
Stephen Celis 53169c423c Fix CustomDumpRepresentable max depth (#88)
* Fix `CustomDumpRepresentable` max depth

When we reach a custom dump representable value, we should not decrement
the max depth when printing it.

At times this can cause the max depth to roll from 0 to -1, which
currently causes the logic that collapses nodes to leave them expanded.

We should update that logic, as well, so I'll do that in another commit.

* Treat negative depth as zero

* Add/fix some unrelated tests
2023-05-04 09:54:23 -07:00
Stephen Celis 84b30e1af7 Only print "no difference detected" when diff output is the same (#85)
* Only print "no difference detected" when diff output is the same

* wip

* fix for Xcode 13.4.1
2023-04-13 14:04:03 -07:00
Stephen Celis 21404fead4 Show difference when values are equal if labels differ (#84) 2023-04-12 16:34:29 -07:00
Stephen Celis 805c57f32a Don't use AnyKeyPath.debugDescription due to crash (#81)
* Don't use `AnyKeyPath.debugDescription` due to crash

SE-0369's implementation unfortunately has a crash related to dynamic
member lookup, so we should revert our reliance on it till the bug is
fixed.

See https://github.com/apple/swift/issues/64865 for more info.

* wip

* wip

* wip
2023-04-03 10:59:29 -07:00
stephencelis 6a90124ac7 Run swift-format 2023-03-22 18:27:33 +00:00