diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index 42018c520..385819d62 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -150,6 +150,9 @@ - (void)setContent:(id)value { + if (value == nil) + value = []; + if (![value isKindOfClass:[CPArray class]]) value = [value]; diff --git a/AppKit/CPObjectController.j b/AppKit/CPObjectController.j index 02e3d961f..75c24d07f 100644 --- a/AppKit/CPObjectController.j +++ b/AppKit/CPObjectController.j @@ -1,5 +1,6 @@ @import +@import @import "CPController.j" diff --git a/Tests/AppKit/CPArrayControllerTest.j b/Tests/AppKit/CPArrayControllerTest.j index e921d0810..9ffb36647 100644 --- a/Tests/AppKit/CPArrayControllerTest.j +++ b/Tests/AppKit/CPArrayControllerTest.j @@ -27,6 +27,12 @@ [self assert:[_CPObservableArray class] equals:[[[self arrayController] arrangedObjects] class] message:"arranged objects should be observable"]; } +- (void)testInitWithoutContent +{ + _arrayController = [[CPArrayController alloc] init]; + [self assert:[] equals:[[self arrayController] contentArray]]; +} + - (void)testSetContent { otherContent = [@"5", @"6"];