diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index c465aa4d8..6d3f92abf 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -136,7 +136,7 @@ _sortDescriptors = [CPArray array]; _filterPredicate = nil; _selectionIndexes = [CPIndexSet indexSet]; - _arrangedObjects = nil; + _arrangedObjects = [CPArray array]; } - (void)prepareContent diff --git a/Tests/AppKit/CPArrayControllerTest.j b/Tests/AppKit/CPArrayControllerTest.j index 84506e5a8..b83b580e1 100644 --- a/Tests/AppKit/CPArrayControllerTest.j +++ b/Tests/AppKit/CPArrayControllerTest.j @@ -56,6 +56,24 @@ [self assert:object equals:[[arrayController arrangedObjects] objectAtIndex:1]]; } +- (void)testAddObjectUpdatesArrangedObjectsWithoutSortDescriptors +{ + var arrayController = [[CPArrayController alloc] init]; + + [arrayController addObject:@"content"]; + [self assert:[@"content"] equals:[arrayController content]]; + [self assert:[@"content"] equals:[arrayController arrangedObjects]]; +} + +- (void)testInsertObjectUpdatesArrangedObjectsWithoutSortDescriptors +{ + var arrayController = [[CPArrayController alloc] init]; + + [arrayController insertObject:@"content" atArrangedObjectIndex:0]; + [self assert:[@"content"] equals:[arrayController content]]; + [self assert:[@"content"] equals:[arrayController arrangedObjects]]; +} + - (void)testSelectPrevious { var arrayController = [self arrayController];