cog/Frameworks/Sparkle/Tests/SUUpdaterTest.m

78 lines
1.8 KiB
Objective-C

//
// SUUpdaterTest.m
// Sparkle
//
// Created by Jake Petroules on 2014-06-29.
// Copyright (c) 2014 Sparkle Project. All rights reserved.
//
#import <XCTest/XCTest.h>
#import "SUConstants.h"
#import "SUUpdater.h"
@interface SUUpdaterTest : XCTestCase <SUUpdaterDelegate>
@property (strong) NSOperationQueue *queue;
@property (strong) SUUpdater *updater;
@end
@implementation SUUpdaterTest
@synthesize queue;
@synthesize updater;
- (void)setUp
{
[super setUp];
self.queue = [[NSOperationQueue alloc] init];
self.updater = [[SUUpdater alloc] init];
self.updater.delegate = self;
}
- (void)tearDown
{
self.updater = nil;
self.queue = nil;
[super tearDown];
}
- (NSString *)feedURLStringForUpdater:(SUUpdater *) __unused updater
{
return @"";
}
- (void)testFeedURL
{
[self.updater feedURL]; // this WON'T throw
[self.queue addOperationWithBlock:^{
XCTAssertTrue(![NSThread isMainThread]);
@try {
[self.updater feedURL];
XCTFail(@"feedURL did not throw an exception when called on a secondary thread");
}
@catch (NSException *exception) {
NSLog(@"%@", exception);
}
}];
[self.queue waitUntilAllOperationsAreFinished];
}
- (void)testSetTestFeedURL
{
[self.updater setFeedURL:[NSURL URLWithString:@""]]; // this WON'T throw
[self.queue addOperationWithBlock:^{
XCTAssertTrue(![NSThread isMainThread]);
@try {
[self.updater setFeedURL:[NSURL URLWithString:@""]];
XCTFail(@"setFeedURL: did not throw an exception when called on a secondary thread");
}
@catch (NSException *exception) {
NSLog(@"%@", exception);
}
}];
[self.queue waitUntilAllOperationsAreFinished];
}
@end