mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 04:57:03 +00:00
Here is an ojtest for this issue.
This commit is contained in:
@@ -315,6 +315,33 @@
|
||||
[self assert:0 equals:[control objectValueSetterCount] message:@"-setObjectValue should not be called"];
|
||||
}
|
||||
|
||||
- (void)testMultipleBindingsToArrayControllerSelection
|
||||
{
|
||||
var control1 = [[TextField alloc] init];
|
||||
var control2 = [[TextField alloc] init];
|
||||
|
||||
var cheese1 = [BindingTester testerWithCheese:@"roblochon"],
|
||||
cheese2 = [BindingTester testerWithCheese:@"brie"];
|
||||
|
||||
var ac = [[CPArrayController alloc] initWithContent:@[cheese1, cheese2]];
|
||||
var oc = [[CPObjectController alloc] init];
|
||||
|
||||
// This tests fails only if multiple controls are binded BEFORE the object controller
|
||||
[control1 bind:CPValueBinding toObject:oc withKeyPath:@"selection.cheese" options:nil];
|
||||
[control2 bind:CPValueBinding toObject:oc withKeyPath:@"selection.cheese" options:nil];
|
||||
[oc bind:CPContentBinding toObject:ac withKeyPath:@"selection" options:nil];
|
||||
|
||||
[ac setSelectionIndex:0];
|
||||
|
||||
[self assert:@"roblochon" equals:[control1 objectValue] message:@"control1 objectValue is wrong"];
|
||||
[self assert:@"roblochon" equals:[control2 objectValue] message:@"control2 objectValue is wrong"];
|
||||
|
||||
[ac setSelectionIndex:1];
|
||||
|
||||
[self assert:@"brie" equals:[control1 objectValue] message:@"control1 objectValue is wrong"];
|
||||
[self assert:@"brie" equals:[control2 objectValue] message:@"control2 objectValue is wrong"];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation TextField : CPTextField
|
||||
|
||||
Reference in New Issue
Block a user