From e7dbd5a5cc998e5eb8cab7a409168e12e25e39c6 Mon Sep 17 00:00:00 2001 From: Klaas Pieter Annema Date: Mon, 10 Jan 2011 08:03:36 +0100 Subject: [PATCH] add test for CPButton setObjectValue: behavior --- Tests/AppKit/CPButtonTest.j | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Tests/AppKit/CPButtonTest.j b/Tests/AppKit/CPButtonTest.j index e922c03b7..8acf049df 100644 --- a/Tests/AppKit/CPButtonTest.j +++ b/Tests/AppKit/CPButtonTest.j @@ -102,4 +102,34 @@ [self assertTrue:wasClicked]; } +- (void)testSetObjectValue +{ + [button setObjectValue:CPOnState]; + [self assert:CPOnState equals:[button objectValue] message:@"object value should be CPOnState"]; + [self assert:CPOnState equals:[button state] message:@"state should be CPOnState"]; + + // YES !== CPOnState, we used to fail on this + [button setObjectValue:YES]; + [self assert:CPOnState equals:[button objectValue] message:@"YES should be translated to CPOnState"]; + [self assert:CPOnState equals:[button state] message:@"YES should be translated CPOnState"]; + + [button setObjectValue:NO]; + [self assert:CPOffState equals:[button objectValue] message:@"NO should be translated to CPOffState"]; + [self assert:CPOffState equals:[button state] message:@"NO should be translated to CPOffState"]; + + [button setObjectValue:CPOffState]; + [self assert:CPOffState equals:[button objectValue] message:@"object value should be CPOffState"]; + [self assert:CPOffState equals:[button state] message:@"state should be CPOnState"]; + + [button setAllowsMixedState:NO]; + [button setObjectValue:CPMixedState]; + [self assert:CPOnState equals:[button objectValue] message:@"Mixed state is not allowed, object value should be CPOnState"]; + [self assert:CPOnState equals:[button state] message:@"Mixed state is not allowed, state should be CPOnState"]; + + [button setAllowsMixedState:YES]; + [button setObjectValue:CPMixedState]; + [self assert:CPMixedState equals:[button objectValue] message:@"Mixed state is allowed, object value should be CPMixedState"]; + [self assert:CPMixedState equals:[button state] message:@"Mixed state is allowed, state should be CPMixedState"]; +} + @end