AppKit: Protect archiving of non-view objects and add regression tests

Ensure objects held and shared by views are correct by verifying they retain
the properties applications read after archiving.

* CPAppearance: Add the name accessor.

* CPShadow:
  * Add CPCoding.
  * Add init with the default shadow values.

* CPObjectArchivingTest: Verifies round trips of Foundation values, AppKit
  values, and objects that belong to views.

* DropInArchiveTest: State the reasons the MainMenu cibs are not included.
This commit is contained in:
David Richardson committed 2026-10-31 22:18:28 -06:00
1 parent 9944659776
commit 6ddcfe0d79
4 files changed
+394 -2

No files matched your search

+3 -2
View File
@@ -162,8 +162,9 @@ var fs = require("fs"),
Tests/Manual/SmartFoldersTest/Resources/PredicateEditor.cib and
Tests/Manual/TextEditor/Resources/DocumentWindow.cib, as of commit 5db5adac0.
Loading one must produce the same windows, views and frames as main. The MainMenu
cibs of those applications are not here, because they need application classes
to load.
cibs of those applications are not here. TextEditor's shows a menu bar, which needs
a platform window, and SmartFoldersTest's connects a data source that is defined by
the application.
*/
- (void)testExistingCibsProduceTheSameObjects
{