mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-19 00:43:29 +00:00
Previously, every AppKit tests used the same sharedApplication. Due to this implementation, a could not pass because a previous test made failed the current test. For instance, a test could fail because the window of the previous test resigned (just imagine a new window is the key window in the current test), and this resign could raise an error. The error was displayed for the current test thought this test was perfect ! We now instead of using sharedApplication create a new CPApplication per unit-test file in the class method setUp.
40 lines
992 B
Plaintext
40 lines
992 B
Plaintext
@import <AppKit/CPPasteboard.j>
|
|
|
|
@import <OJUnit/OJTestCase.j>
|
|
|
|
@implementation CPPasteboardTest : OJTestCase
|
|
{
|
|
}
|
|
|
|
+ (void)setUp
|
|
{
|
|
// This will init the global var CPApp which are used internally in the AppKit
|
|
[[CPApplication alloc] init];
|
|
}
|
|
|
|
- (void)testSetString_forType_
|
|
{
|
|
var pboard = [CPPasteboard generalPasteboard];
|
|
[pboard declareTypes:@[CPStringPboardType] owner:nil];
|
|
[pboard setString:@"hello" forType:CPStringPboardType];
|
|
[self assert:@"hello" equals:[pboard stringForType:CPStringPboardType]];
|
|
}
|
|
|
|
- (void)testSetStringTypeCheck
|
|
{
|
|
var pboard = [CPPasteboard generalPasteboard];
|
|
[pboard declareTypes:@[CPStringPboardType] owner:nil];
|
|
|
|
// These are okay.
|
|
[pboard setString:"a" forType:CPStringPboardType];
|
|
[pboard setString:[CPString stringWithString:@"a"] forType:CPStringPboardType];
|
|
|
|
// This one should crash.
|
|
[self assertThrows:function()
|
|
{
|
|
[pboard setString:[1, 2, 3] forType:CPStringPboardType];
|
|
}];
|
|
}
|
|
|
|
@end
|