Changeset 2

Show
Ignore:
Timestamp:
12/ 7/06 10:45:42 PM (2 years ago)
Author:
aaron
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/CocoaICU.xcodeproj/project.pbxproj

    r1 r2  
    88 
    99/* Begin PBXBuildFile section */ 
    10                 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; 
    11                 9389EF6C0B10EDAA000ECD6C /* libicucore.A.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9389EF6B0B10EDAA000ECD6C /* libicucore.A.dylib */; }; 
     10                939322590B1E6AD000DD0AF0 /* ICUMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 939322580B1E6AD000DD0AF0 /* ICUMatcher.m */; }; 
    1211                93E2C0720B18BF5E001193AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; 
    1312                93E2C0730B18BF5E001193AC /* libicucore.A.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9389EF6B0B10EDAA000ECD6C /* libicucore.A.dylib */; }; 
    14                 93E2C0D50B18D142001193AC /* CocoaICU.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0CE0B18D142001193AC /* CocoaICU.m */; }; 
    15                 93E2C0D60B18D142001193AC /* ICUPattern.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 93E2C0CF0B18D142001193AC /* ICUPattern.h */; }; 
    16                 93E2C0D70B18D142001193AC /* ICUPattern.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D00B18D142001193AC /* ICUPattern.m */; }; 
    17                 93E2C0D80B18D142001193AC /* ICUTest.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 93E2C0D10B18D142001193AC /* ICUTest.h */; }; 
    18                 93E2C0DA0B18D142001193AC /* NSStringICUAdditions.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 93E2C0D30B18D142001193AC /* NSStringICUAdditions.h */; }; 
    19                 93E2C0DB0B18D142001193AC /* NSStringICUAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D40B18D142001193AC /* NSStringICUAdditions.m */; }; 
     13                93E2C5070B1A5465001193AC /* ICUTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D20B18D142001193AC /* ICUTest.m */; }; 
     14                93E2C5080B1A5465001193AC /* ICUPattern.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D00B18D142001193AC /* ICUPattern.m */; }; 
     15                93E2C5090B1A5465001193AC /* NSStringICUAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D40B18D142001193AC /* NSStringICUAdditions.m */; }; 
     16                93E2C50F0B1A5495001193AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; 
     17                93E2C5100B1A5495001193AC /* ICUPattern.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D00B18D142001193AC /* ICUPattern.m */; }; 
     18                93E2C5120B1A5495001193AC /* libicucore.A.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9389EF6B0B10EDAA000ECD6C /* libicucore.A.dylib */; }; 
     19                93E2C5130B1A5495001193AC /* NSStringICUAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0D40B18D142001193AC /* NSStringICUAdditions.m */; }; 
     20                93E2C5320B1A59FC001193AC /* CocoaICU.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E2C0CE0B18D142001193AC /* CocoaICU.m */; }; 
    2021/* End PBXBuildFile section */ 
    2122 
    22 /* Begin PBXCopyFilesBuildPhase section */ 
    23                 8DD76F9E0486AA7600D96B5E /* CopyFiles */ = { 
    24                         isa = PBXCopyFilesBuildPhase; 
    25                         buildActionMask = 8; 
    26                         dstPath = /usr/share/man/man1/; 
    27                         dstSubfolderSpec = 0; 
    28                         files = ( 
    29                                 93E2C0D60B18D142001193AC /* ICUPattern.h in CopyFiles */, 
    30                                 93E2C0D80B18D142001193AC /* ICUTest.h in CopyFiles */, 
    31                                 93E2C0DA0B18D142001193AC /* NSStringICUAdditions.h in CopyFiles */, 
    32                         ); 
    33                         runOnlyForDeploymentPostprocessing = 1; 
    34                 }; 
    35 /* End PBXCopyFilesBuildPhase section */ 
     23/* Begin PBXContainerItemProxy section */ 
     24                93E2C57C0B1A6A77001193AC /* PBXContainerItemProxy */ = { 
     25                        isa = PBXContainerItemProxy; 
     26                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; 
     27                        proxyType = 1; 
     28                        remoteGlobalIDString = 93E2BFE40B18BEC4001193AC; 
     29                        remoteInfo = "CocoaICU Unit Tests"; 
     30                }; 
     31/* End PBXContainerItemProxy section */ 
    3632 
    3733/* Begin PBXFileReference section */ 
    3834                08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 
    3935                32A70AAB03705E1F00C91783 /* CocoaICU_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CocoaICU_Prefix.pch; sourceTree = "<group>"; }; 
    40                 8DD76FA10486AA7600D96B5E /* CocoaICU */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CocoaICU; sourceTree = BUILT_PRODUCTS_DIR; }; 
    4136                9389EF6B0B10EDAA000ECD6C /* libicucore.A.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.A.dylib; path = /usr/lib/libicucore.A.dylib; sourceTree = "<absolute>"; }; 
     37                939322570B1E6AD000DD0AF0 /* ICUMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ICUMatcher.h; sourceTree = "<group>"; }; 
     38                939322580B1E6AD000DD0AF0 /* ICUMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ICUMatcher.m; sourceTree = "<group>"; }; 
    4239                93E2BFE50B18BEC4001193AC /* CocoaICU Unit Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CocoaICU Unit Tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; }; 
    43                 93E2BFE60B18BEC4001193AC /* CocoaICU Unit Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "CocoaICU Unit Tests-Info.plist"; sourceTree = "<group>"; }; 
     40                93E2BFE60B18BEC4001193AC /* CocoaICU Unit Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "CocoaICU Unit Tests-Info.plist"; path = "resources/CocoaICU Unit Tests-Info.plist"; sourceTree = SOURCE_ROOT; }; 
    4441                93E2C0CE0B18D142001193AC /* CocoaICU.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CocoaICU.m; path = source/CocoaICU.m; sourceTree = "<group>"; }; 
    4542                93E2C0CF0B18D142001193AC /* ICUPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ICUPattern.h; path = source/ICUPattern.h; sourceTree = "<group>"; }; 
     
    4946                93E2C0D30B18D142001193AC /* NSStringICUAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSStringICUAdditions.h; path = source/NSStringICUAdditions.h; sourceTree = "<group>"; }; 
    5047                93E2C0D40B18D142001193AC /* NSStringICUAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSStringICUAdditions.m; path = source/NSStringICUAdditions.m; sourceTree = "<group>"; }; 
     48                93E2C4F00B1A53F0001193AC /* CocoaICU */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CocoaICU; sourceTree = BUILT_PRODUCTS_DIR; }; 
    5149/* End PBXFileReference section */ 
    5250 
    5351/* Begin PBXFrameworksBuildPhase section */ 
    54                 8DD76F9B0486AA7600D96B5E /* Frameworks */ = { 
    55                         isa = PBXFrameworksBuildPhase; 
    56                         buildActionMask = 2147483647; 
    57                         files = ( 
    58                                 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */, 
    59                                 9389EF6C0B10EDAA000ECD6C /* libicucore.A.dylib in Frameworks */, 
    60                         ); 
    61                         runOnlyForDeploymentPostprocessing = 0; 
    62                 }; 
    6352                93E2BFE20B18BEC4001193AC /* Frameworks */ = { 
    6453                        isa = PBXFrameworksBuildPhase; 
     
    7059                        runOnlyForDeploymentPostprocessing = 0; 
    7160                }; 
     61                93E2C4EE0B1A53F0001193AC /* Frameworks */ = { 
     62                        isa = PBXFrameworksBuildPhase; 
     63                        buildActionMask = 2147483647; 
     64                        files = ( 
     65                                93E2C5120B1A5495001193AC /* libicucore.A.dylib in Frameworks */, 
     66                                93E2C50F0B1A5495001193AC /* Foundation.framework in Frameworks */, 
     67                        ); 
     68                        runOnlyForDeploymentPostprocessing = 0; 
     69                }; 
    7270/* End PBXFrameworksBuildPhase section */ 
    7371 
     
    7775                        children = ( 
    7876                                93E2C0DE0B18D17D001193AC /* Other */, 
    79                                 93E2C0DD0B18D16F001193AC /* Test */, 
     77                                93E2C0DD0B18D16F001193AC /* Test Cases */, 
    8078                                08FB7795FE84155DC02AAC07 /* Source */, 
    8179                                08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, 
     
    9189                                93E2C0CF0B18D142001193AC /* ICUPattern.h */, 
    9290                                93E2C0D00B18D142001193AC /* ICUPattern.m */, 
     91                                939322570B1E6AD000DD0AF0 /* ICUMatcher.h */, 
     92                                939322580B1E6AD000DD0AF0 /* ICUMatcher.m */, 
    9393                                93E2C0D30B18D142001193AC /* NSStringICUAdditions.h */, 
    9494                                93E2C0D40B18D142001193AC /* NSStringICUAdditions.m */, 
     
    109109                        isa = PBXGroup; 
    110110                        children = ( 
    111                                 8DD76FA10486AA7600D96B5E /* CocoaICU */, 
    112111                                93E2BFE50B18BEC4001193AC /* CocoaICU Unit Tests.octest */, 
     112                                93E2C4F00B1A53F0001193AC /* CocoaICU */, 
    113113                        ); 
    114114                        name = Products; 
    115115                        sourceTree = "<group>"; 
    116116                }; 
    117                 93E2C0DD0B18D16F001193AC /* Test */ = { 
     117                93E2C0DD0B18D16F001193AC /* Test Cases */ = { 
    118118                        isa = PBXGroup; 
    119119                        children = ( 
     
    121121                                93E2C0D20B18D142001193AC /* ICUTest.m */, 
    122122                        ); 
    123                         name = Test
     123                        name = "Test Cases"
    124124                        sourceTree = "<group>"; 
    125125                }; 
     
    136136 
    137137/* Begin PBXNativeTarget section */ 
    138                 8DD76F960486AA7600D96B5E /* CocoaICU */ = { 
    139                         isa = PBXNativeTarget; 
    140                         buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "CocoaICU" */; 
    141                         buildPhases = ( 
    142                                 8DD76F990486AA7600D96B5E /* Sources */, 
    143                                 8DD76F9B0486AA7600D96B5E /* Frameworks */, 
    144                                 8DD76F9E0486AA7600D96B5E /* CopyFiles */, 
    145                         ); 
    146                         buildRules = ( 
    147                         ); 
    148                         dependencies = ( 
    149                         ); 
    150                         name = CocoaICU; 
    151                         productInstallPath = "$(HOME)/bin"; 
    152                         productName = CocoaICU; 
    153                         productReference = 8DD76FA10486AA7600D96B5E /* CocoaICU */; 
    154                         productType = "com.apple.product-type.tool"; 
    155                 }; 
    156138                93E2BFE40B18BEC4001193AC /* CocoaICU Unit Tests */ = { 
    157139                        isa = PBXNativeTarget; 
     
    172154                        productType = "com.apple.product-type.bundle"; 
    173155                }; 
     156                93E2C4EF0B1A53F0001193AC /* CocoaICU */ = { 
     157                        isa = PBXNativeTarget; 
     158                        buildConfigurationList = 93E2C5010B1A5403001193AC /* Build configuration list for PBXNativeTarget "CocoaICU" */; 
     159                        buildPhases = ( 
     160                                93E2C4ED0B1A53F0001193AC /* Sources */, 
     161                                93E2C4EE0B1A53F0001193AC /* Frameworks */, 
     162                        ); 
     163                        buildRules = ( 
     164                        ); 
     165                        dependencies = ( 
     166                                93E2C57D0B1A6A77001193AC /* PBXTargetDependency */, 
     167                        ); 
     168                        name = CocoaICU; 
     169                        productName = CocoaICU; 
     170                        productReference = 93E2C4F00B1A53F0001193AC /* CocoaICU */; 
     171                        productType = "com.apple.product-type.tool"; 
     172                }; 
    174173/* End PBXNativeTarget section */ 
    175174 
     
    182181                        projectDirPath = ""; 
    183182                        targets = ( 
    184                                 8DD76F960486AA7600D96B5E /* CocoaICU */, 
    185183                                93E2BFE40B18BEC4001193AC /* CocoaICU Unit Tests */, 
     184                                93E2C4EF0B1A53F0001193AC /* CocoaICU */, 
    186185                        ); 
    187186                }; 
     
    215214 
    216215/* Begin PBXSourcesBuildPhase section */ 
    217                 8DD76F990486AA7600D96B5E /* Sources */ = { 
    218                         isa = PBXSourcesBuildPhase; 
    219                         buildActionMask = 2147483647; 
    220                         files = ( 
    221                                 93E2C0D50B18D142001193AC /* CocoaICU.m in Sources */, 
    222                                 93E2C0D70B18D142001193AC /* ICUPattern.m in Sources */, 
    223                                 93E2C0DB0B18D142001193AC /* NSStringICUAdditions.m in Sources */, 
    224                         ); 
    225                         runOnlyForDeploymentPostprocessing = 0; 
    226                 }; 
    227216                93E2BFE10B18BEC4001193AC /* Sources */ = { 
    228217                        isa = PBXSourcesBuildPhase; 
    229218                        buildActionMask = 2147483647; 
    230219                        files = ( 
     220                                93E2C5070B1A5465001193AC /* ICUTest.m in Sources */, 
     221                                93E2C5080B1A5465001193AC /* ICUPattern.m in Sources */, 
     222                                93E2C5090B1A5465001193AC /* NSStringICUAdditions.m in Sources */, 
     223                        ); 
     224                        runOnlyForDeploymentPostprocessing = 0; 
     225                }; 
     226                93E2C4ED0B1A53F0001193AC /* Sources */ = { 
     227                        isa = PBXSourcesBuildPhase; 
     228                        buildActionMask = 2147483647; 
     229                        files = ( 
     230                                93E2C5320B1A59FC001193AC /* CocoaICU.m in Sources */, 
     231                                93E2C5100B1A5495001193AC /* ICUPattern.m in Sources */, 
     232                                93E2C5130B1A5495001193AC /* NSStringICUAdditions.m in Sources */, 
     233                                939322590B1E6AD000DD0AF0 /* ICUMatcher.m in Sources */, 
    231234                        ); 
    232235                        runOnlyForDeploymentPostprocessing = 0; 
     
    234237/* End PBXSourcesBuildPhase section */ 
    235238 
     239/* Begin PBXTargetDependency section */ 
     240                93E2C57D0B1A6A77001193AC /* PBXTargetDependency */ = { 
     241                        isa = PBXTargetDependency; 
     242                        target = 93E2BFE40B18BEC4001193AC /* CocoaICU Unit Tests */; 
     243                        targetProxy = 93E2C57C0B1A6A77001193AC /* PBXContainerItemProxy */; 
     244                }; 
     245/* End PBXTargetDependency section */ 
     246 
    236247/* Begin XCBuildConfiguration section */ 
    237                 1DEB927508733DD40010E9CD /* Debug */ = { 
    238                         isa = XCBuildConfiguration; 
    239                         buildSettings = { 
    240                                 COPY_PHASE_STRIP = NO; 
    241                                 GCC_DYNAMIC_NO_PIC = NO; 
    242                                 GCC_ENABLE_FIX_AND_CONTINUE = YES; 
    243                                 GCC_MODEL_TUNING = G5; 
    244                                 GCC_OPTIMIZATION_LEVEL = 0; 
    245                                 GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    246                                 GCC_PREFIX_HEADER = CocoaICU_Prefix.pch; 
    247                                 INSTALL_PATH = "$(HOME)/bin"; 
    248                                 PRODUCT_NAME = CocoaICU; 
    249                                 ZERO_LINK = YES; 
    250                         }; 
    251                         name = Debug; 
    252                 }; 
    253                 1DEB927608733DD40010E9CD /* Release */ = { 
    254                         isa = XCBuildConfiguration; 
    255                         buildSettings = { 
    256                                 ARCHS = ( 
    257                                         ppc, 
    258                                         i386, 
    259                                 ); 
    260                                 GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 
    261                                 GCC_MODEL_TUNING = G5; 
    262                                 GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    263                                 GCC_PREFIX_HEADER = CocoaICU_Prefix.pch; 
    264                                 INSTALL_PATH = "$(HOME)/bin"; 
    265                                 PRODUCT_NAME = CocoaICU; 
    266                         }; 
    267                         name = Release; 
    268                 }; 
    269248                1DEB927908733DD40010E9CD /* Debug */ = { 
    270249                        isa = XCBuildConfiguration; 
     
    303282                                GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    304283                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; 
    305                                 INFOPLIST_FILE = "CocoaICU Unit Tests-Info.plist"; 
     284                                INFOPLIST_FILE = "resources/CocoaICU Unit Tests-Info.plist"; 
    306285                                INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; 
    307286                                OTHER_LDFLAGS = ( 
     
    328307                                GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    329308                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; 
    330                                 INFOPLIST_FILE = "CocoaICU Unit Tests-Info.plist"; 
     309                                INFOPLIST_FILE = "resources/CocoaICU Unit Tests-Info.plist"; 
    331310                                INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; 
    332311                                OTHER_LDFLAGS = ( 
     
    343322                        name = Release; 
    344323                }; 
     324                93E2C5020B1A5403001193AC /* Debug */ = { 
     325                        isa = XCBuildConfiguration; 
     326                        buildSettings = { 
     327                                COPY_PHASE_STRIP = NO; 
     328                                GCC_DYNAMIC_NO_PIC = NO; 
     329                                GCC_ENABLE_FIX_AND_CONTINUE = YES; 
     330                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 
     331                                GCC_MODEL_TUNING = G5; 
     332                                GCC_OPTIMIZATION_LEVEL = 0; 
     333                                INSTALL_PATH = "$(HOME)/bin"; 
     334                                PREBINDING = NO; 
     335                                PRODUCT_NAME = CocoaICU; 
     336                                ZERO_LINK = YES; 
     337                        }; 
     338                        name = Debug; 
     339                }; 
     340                93E2C5030B1A5403001193AC /* Release */ = { 
     341                        isa = XCBuildConfiguration; 
     342                        buildSettings = { 
     343                                COPY_PHASE_STRIP = YES; 
     344                                GCC_ENABLE_FIX_AND_CONTINUE = NO; 
     345                                GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 
     346                                GCC_MODEL_TUNING = G5; 
     347                                INSTALL_PATH = "$(HOME)/bin"; 
     348                                PREBINDING = NO; 
     349                                PRODUCT_NAME = CocoaICU; 
     350                                ZERO_LINK = NO; 
     351                        }; 
     352                        name = Release; 
     353                }; 
    345354/* End XCBuildConfiguration section */ 
    346355 
    347356/* Begin XCConfigurationList section */ 
    348                 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "CocoaICU" */ = { 
    349                         isa = XCConfigurationList; 
    350                         buildConfigurations = ( 
    351                                 1DEB927508733DD40010E9CD /* Debug */, 
    352                                 1DEB927608733DD40010E9CD /* Release */, 
    353                         ); 
    354                         defaultConfigurationIsVisible = 0; 
    355                         defaultConfigurationName = Release; 
    356                 }; 
    357357                1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "CocoaICU" */ = { 
    358358                        isa = XCConfigurationList; 
     
    373373                        defaultConfigurationName = Release; 
    374374                }; 
     375                93E2C5010B1A5403001193AC /* Build configuration list for PBXNativeTarget "CocoaICU" */ = { 
     376                        isa = XCConfigurationList; 
     377                        buildConfigurations = ( 
     378                                93E2C5020B1A5403001193AC /* Debug */, 
     379                                93E2C5030B1A5403001193AC /* Release */, 
     380                        ); 
     381                        defaultConfigurationIsVisible = 0; 
     382                        defaultConfigurationName = Release; 
     383                }; 
    375384/* End XCConfigurationList section */ 
    376385        }; 
  • trunk/source/CocoaICU.m

    r1 r2  
    22#import "ICUPattern.h" 
    33#import "NSStringICUAdditions.h" 
     4 
    45 
    56void doSpeedComparison(); 
     
    1112    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    1213 
    13         // doSpeedComparison(); 
    14         // doSplitTest(); 
    15         // doSpeedComparison(); 
    16         // doUnicodeCharSearch(); 
     14        NSString *searchString = @"bbdfdbbababababaklsdjfababababab"; 
     15        NSString *patternString = @"([ab]+)"; 
     16        NSArray *results = [searchString findPatternString:patternString]; 
     17         
     18        NSLog(@"%@", results); 
    1719         
    1820        [pool release]; 
     
    3941 
    4042void doSpeedComparison() { 
    41         NSString *pathToSomeFile = [@"~/Sandbox/CocoaICU/resources/tmp.mbox" stringByExpandingTildeInPath]; 
     43        NSString *pathToSomeFile = [@"~/Sandbox/CocoaICU/trunk/resources/cocoa.mbox" stringByExpandingTildeInPath]; 
    4244        NSData *stringData = [NSData dataWithContentsOfMappedFile:pathToSomeFile]; 
    4345        NSString *fileContents = [[NSString alloc] initWithData:stringData encoding:NSASCIIStringEncoding]; 
     
    4850 
    4951//      /* do foundation find and replace */ 
     52        NSAutoreleasePool *innerPool = [[NSAutoreleasePool alloc] init]; 
    5053        NSCalendarDate *preCocoaFindAndReplaceTime = [NSCalendarDate date]; 
    5154        NSMutableString *stringToSearch = [NSMutableString stringWithString:fileContents]; 
    5255        [stringToSearch replaceOccurrencesOfString:searchTerm withString:replacementTerm options:0 range:NSMakeRange(0, [stringToSearch length])]; 
    53         NSString *resultingStringUsingFoundation = [NSString stringWithString:stringToSearch]; 
     56        NSString *resultingStringUsingFoundation = [[NSString stringWithString:stringToSearch] retain]; 
    5457        NSLog(@"Foundation find/replace took %.3f seconds", [[NSDate date] timeIntervalSinceDate:preCocoaFindAndReplaceTime]); 
     58        [innerPool release]; 
    5559 
     60        innerPool = [[NSAutoreleasePool alloc] init]; 
    5661        /* do icu find and replace */ 
    5762        NSCalendarDate *preICUFindAndReplaceTime = [NSCalendarDate date]; 
     
    6065        NSLog(@"done"); 
    6166         
    62 //    if([resultingStringUsingFoundation isEqualToString:resultingStringUsingIcu]) { 
    63 //            NSLog(@"replacement resulted in the same string"); 
    64 //    } else 
    65 //            NSLog(@"replacement resulted in a different string"); 
     67      if([resultingStringUsingFoundation isEqualToString:resultingStringUsingIcu]) { 
     68              NSLog(@"replacement resulted in the same string"); 
     69      } else 
     70              NSLog(@"replacement resulted in a different string"); 
    6671         
    67          
     72        [innerPool release]; 
    6873} 
  • trunk/source/ICUPattern.h

    r1 r2  
    99#import <Cocoa/Cocoa.h> 
    1010 
     11@class ICUMatcher; 
     12 
    1113/** 
    12  * flags... 
     14 * flags. see http://icu.sourceforge.net/apiref/icu4c/uregex_8h.html#874989dfec4cbeb6baf4d1a51cb529ae 
    1315 */ 
    1416extern unsigned CaseInsensitiveMatching; 
     
    2426} 
    2527 
     28// XOR flags (defaults to 0 when no flags are given) 
    2629+(ICUPattern *)patternWithString:(NSString *)aPattern flags:(unsigned)flags; 
    2730+(ICUPattern *)patternWithString:(NSString *)aPattern; 
    2831-(id)initWithString:(NSString *)aPattern; 
    2932-(id)initWithString:(NSString *)aPattern flags:(unsigned)flags; 
     33 
     34+(ICUMatcher *)matcherForString:(NSString *)stringToSearchOver; 
     35 
    3036-(void *)pattern; 
     37 
     38/* no retain done.  the life of the text is given by the caller */ 
    3139-(void)setTextToSearch:(NSString *)s; 
    3240-(void *)textToSearch; 
     41 
     42 
    3343-(void)reset; 
     44 
    3445@end 
  • trunk/source/ICUPattern.m

    r1 r2  
    11// 
    2 //  REPattern.m 
     2//  ICUPattern.m 
    33//  CocoaICU 
    44// 
     
    66//  Copyright 2006 Aaron Evans. All rights reserved. 
    77// 
     8// more info: http://icu.sourceforge.net/apiref/icu4c/uregex_8h.html 
    89 
    910#import "ICUPattern.h" 
     
    7778        if(pattern != NULL) 
    7879                free(pattern); 
    79          
     80 
    8081        [super dealloc]; 
    8182} 
     
    144145 
    145146-(NSString *)description { 
    146          
     147 
    147148        if([self pattern] != NULL) { 
    148149                UChar *p = NULL; 
  • trunk/source/ICUTest.m

    r1 r2  
    99 
    1010#import "ICUTest.h" 
     11#import "NSStringICUAdditions.h" 
     12#import "ICUPattern.h" 
    1113 
    1214@implementation ICUTest 
     
    2224} 
    2325 
     26-(void)testUTF16String 
     27{ 
     28        NSString *inputString = @"this is a test to see if this works or doesn\\'t work"; 
     29        uint16_t *result = [inputString UTF16String]; 
     30        int len = 0; 
     31        while(result[len++] != 0); 
     32 
     33        STAssertTrue( (len - 1) == [inputString length], @"UTF16String returned a different length string than input"); 
     34} 
     35 
     36-(void)testFind 
     37{ 
     38        NSString *searchString = @"bbdfdbbababababaklsdjfababababab"; 
     39        NSString *patternString = @".*([ab]+).*"; 
     40        NSArray *results = [searchString findPatternString:patternString]; 
     41         
     42        STAssertTrue([results count] == 2, @"Unexpected find results");  
     43} 
     44 
    2445- (void)testSpeed 
    2546{ 
  • trunk/source/NSStringICUAdditions.h

    r1 r2  
    1616 
    1717-(NSString *)findPattern:(ICUPattern *)p replaceAllWith:(NSString *)replacementString; 
     18 
    1819-(BOOL)matchesPattern:(ICUPattern *)p; 
    1920-(BOOL)matchesPatternString:(NSString *)anExpression; 
     21 
     22-(BOOL)findNext; 
     23-(NSRange *)rangeOfCurrentMatch; 
     24 
    2025-(NSArray *)componentsSeparatedByPattern:(ICUPattern *)p; 
     26-(NSArray *)componentsSeparatedByPatternString:(NSString *)s; 
     27 
    2128-(void *)UTF16String; 
    2229 
  • trunk/source/NSStringICUAdditions.m

    r1 r2  
    4141-(NSArray *)findPattern:(ICUPattern *)p { 
    4242        [p setTextToSearch:self]; 
    43          
     43 
    4444        UErrorCode status = 0; 
    4545        int32_t numberOfGroups = uregex_groupCount((URegularExpression *)[p pattern], &status); 
     
    121121        free(destString); 
    122122        return result; 
     123} 
     124 
     125-(BOOL)findNext 
     126{ 
     127        UErrorCode status = 0; 
     128        BOOL r = uregex_findNext([ 
     129} 
     130 
     131-(NSRange *)rangeOfCurrentMatch 
     132{ 
     133         
     134} 
     135 
     136-(NSArray *)componentsSeparatedByPatternString:(NSString *)s 
     137{ 
     138        return [self componentsSeparatedByPattern:[ICUPattern patternWithString:s]]; 
    123139} 
    124140