Changeset [e2ead5625610507440e684e41f0d706c82690186] by Aparajita Fishman

April 3rd, 2012 @ 07:16 PM

Collection KVC fixes, nextObject correctness

  • Moved common CPArray/CPSet collection KVC operators to _CPCollectionKVCOperators.
  • Implemented KVC operator dispatch using Objective-J.
  • Fixed infinite loop with empty collection in @min, @max and @sum operators.
  • Correctly return valueForUndefinedKey when necessary.
  • valueForUndefinedKey reason uses raw description for consistency, class' overridden description may not helpful at all.
  • Don't create a forwarder for @ operators with property paths.
  • Fixed CPSet -valueForKeyPath to correctly deal with nil/undefined/empty values.
  • Added tests for collection KVC operators.
  • enumerator -nextObject should always compare against nil for clarity, correctness, and consistency. https://github.com/cappuccino/cappuccino/commit/e2ead5625610507440e...

Committed by Aparajita Fishman

  • A Foundation/_CPCollectionKVCOperators.j
  • M AppKit/CPFlashView.j
  • M AppKit/CPMenu/_CPMenuManager.j
  • M AppKit/CPTableView.j
  • M AppKit/CPTheme.j
  • M AppKit/CPView.j
  • M AppKit/Cib/CPCib.j
  • M AppKit/Cib/_CPCibObjectData.j
  • M AppKit/Platform/DOM/CPPlatformWindow+DOM.j
  • M CommonJS/lib/cappuccino/cib-analysis-tools.j
  • M Foundation/CPArray+KVO.j
  • M Foundation/CPCharacterSet.j
  • M Foundation/CPDictionary.j
  • M Foundation/CPKeyValueCoding.j
  • M Foundation/CPKeyValueObserving.j
  • M Foundation/CPKeyedArchiver.j
  • M Foundation/CPNotificationCenter.j
  • M Foundation/CPPredicate/CPComparisonPredicate.j
  • M Foundation/CPPredicate/_CPAggregateExpression.j
  • M Foundation/CPSet+KVO.j
  • M Foundation/CPURLConnection.j
  • M Foundation/CPWebDAVManager.j
  • M Tests/Foundation/CPKVCArrayTest.j
  • M Tests/Foundation/CPKVOTest.j
  • M Tests/Foundation/CPKeyValueCodingTest.j
  • M Tests/Foundation/CPSetTest.j
  • M Tools/capp/Configuration.j
  • M Tools/capp/Generate.j
  • M Tools/nib2cib/NSNibConnector.j
  • M Tools/nib2cib/NSToolbar.j
New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

The Cappuccino Web Framework, including AppKit, Foundation, and Objective-J.

Shared Ticket Bins