diff options
author | thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-03-05 22:03:40 +0000 |
---|---|---|
committer | thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-03-05 22:03:40 +0000 |
commit | e1bcf5d6a4b813a63d42e6ccb37ca8054775d65b (patch) | |
tree | 370ae297052052fb9576f0c14e0a9243f8a8bc86 /AppKit/GTMNSColor+LuminanceTest.m | |
parent | d4f38903d60f8b01c419f5056c2fb3cd4c6c6e60 (diff) |
- Added GTMLuminance for working with colors in HSL space easily.
- Added GTMTheme for doing product wide theme modifications.
Diffstat (limited to 'AppKit/GTMNSColor+LuminanceTest.m')
-rw-r--r-- | AppKit/GTMNSColor+LuminanceTest.m | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/AppKit/GTMNSColor+LuminanceTest.m b/AppKit/GTMNSColor+LuminanceTest.m new file mode 100644 index 0000000..82eb014 --- /dev/null +++ b/AppKit/GTMNSColor+LuminanceTest.m @@ -0,0 +1,72 @@ +// +// GTMNSColor+LuminanceTest.m +// +// Copyright 2006-2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import <Cocoa/Cocoa.h> + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 + +#import "GTMSenTestCase.h" +#import "GTMNSColor+Luminance.h" + +@interface GTMNSColor_LuminanceTest : GTMTestCase +@end + +@implementation GTMNSColor_LuminanceTest + +- (void)testLuminance { + NSColor *midtone = [NSColor blueColor]; + NSColor *darker = [midtone gtm_colorAdjustedFor:GTMColorationBaseShadow]; + NSColor *lighter = [midtone gtm_colorAdjustedFor:GTMColorationBaseHighlight]; + NSColor *lightest = [midtone gtm_colorAdjustedFor:GTMColorationLightHighlight]; + NSColor *darkest = [midtone gtm_colorAdjustedFor:GTMColorationDarkShadow]; + + // The relationships of the other values are not set, so we don't test them yet + STAssertGreaterThanOrEqual([lightest gtm_luminance], + [lighter gtm_luminance], nil); + STAssertGreaterThanOrEqual([lighter gtm_luminance], + [midtone gtm_luminance], nil); + STAssertGreaterThanOrEqual([midtone gtm_luminance], + [darker gtm_luminance], nil); + STAssertGreaterThanOrEqual([darker gtm_luminance], + [darkest gtm_luminance], nil); + STAssertGreaterThanOrEqual([[NSColor whiteColor] gtm_luminance], + (CGFloat)0.95, nil); + STAssertGreaterThanOrEqual([[NSColor yellowColor] gtm_luminance], + (CGFloat)0.90, nil); + STAssertEqualsWithAccuracy([[NSColor blueColor] gtm_luminance], + (CGFloat)0.35, 0.10, nil); + STAssertEqualsWithAccuracy([[NSColor redColor] gtm_luminance], + (CGFloat)0.50, 0.10, nil); + STAssertLessThanOrEqual([[NSColor blackColor] gtm_luminance], + (CGFloat)0.30, nil); + STAssertTrue([[NSColor blackColor] gtm_isDarkColor], nil); + STAssertTrue([[NSColor blueColor] gtm_isDarkColor], nil); + STAssertTrue([[NSColor redColor] gtm_isDarkColor], nil); + STAssertTrue(![[NSColor whiteColor] gtm_isDarkColor], nil); + STAssertTrue(![[NSColor yellowColor] gtm_isDarkColor], nil); + STAssertGreaterThanOrEqual([[[NSColor blackColor] gtm_legibleTextColor] + gtm_luminance], + [[NSColor grayColor] gtm_luminance], nil); + STAssertLessThanOrEqual([[[NSColor whiteColor] gtm_legibleTextColor] + gtm_luminance], + [[NSColor grayColor] gtm_luminance], nil); +} + +@end + +#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 |