// // $Id$ // // SPStringAdditionsTest.m // sequel-pro // // Created by J Knight on 17/05/09. // Copyright 2009 J Knight. All rights reserved. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // More info at #import "SPStringAdditionsTest.h" #import "SPStringAdditions.h" #import "RegexKitLite.h" @implementation SPStringAdditionsTest /** * stringByRemovingCharactersInSet test case. */ - (void)testStringByRemovingCharactersInSet { NSString *SPASCIITestString = @"this is a big, crazy test st'ring with som'e random spaces and quot'es"; NSString *SPUTFTestString = @"In der Kürze liegt die Würz"; NSString *charsToRemove = @"abc',ü"; NSCharacterSet *junk = [NSCharacterSet characterSetWithCharactersInString:charsToRemove]; NSString *actualUTFString = SPUTFTestString; NSString *actualASCIIString = SPASCIITestString; NSString *expectedUTFString = @"In der Krze liegt die Wrz"; NSString *expectedASCIIString = @"this is ig rzy test string with some rndom spes nd quotes"; STAssertEqualObjects([actualASCIIString stringByRemovingCharactersInSet:junk], expectedASCIIString, @"The following characters should have been removed %@", charsToRemove); STAssertEqualObjects([actualUTFString stringByRemovingCharactersInSet:junk], expectedUTFString, @"The following characters should have been removed %@", charsToRemove); } /** * stringWithNewUUID test case. */ - (void)testStringWithNewUUID { NSString *uuid = [NSString stringWithNewUUID]; STAssertTrue([uuid isMatchedByRegex:@"[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}"], @"UUID %@ doesn't match regex", uuid); } /** * createViewSyntaxPrettifier test case. */ - (void)testCreateViewSyntaxPrettifier { NSString *originalSyntax = @"CREATE VIEW `test_view` AS select `test_table`.`id` AS `id` from `test_table`;"; NSString *expectedSyntax = @"CREATE VIEW `test_view`\nAS SELECT\n `test_table`.`id` AS `id`\nFROM `test_table`;"; NSString *actualSyntax = [originalSyntax createViewSyntaxPrettifier]; STAssertEqualObjects([actualSyntax description], [expectedSyntax description], @"Actual view syntax '%@' does not equal expected syntax '%@'", actualSyntax, expectedSyntax); } @end