|
| 1 | +#include "CoreFoundation/CFCharacterSet.h" |
| 2 | +#include "../CFTesting.h" |
| 3 | + |
| 4 | +int main (void) |
| 5 | +{ |
| 6 | + CFCharacterSetRef s; |
| 7 | + CFMutableCharacterSetRef m; |
| 8 | + |
| 9 | + s = CFCharacterSetCreateWithCharactersInRange (NULL, CFRangeMake ('A', 3)); |
| 10 | + PASS_CF(CFCharacterSetIsCharacterMember (s, 'A') |
| 11 | + && CFCharacterSetIsCharacterMember (s, 'C') |
| 12 | + && !CFCharacterSetIsCharacterMember (s, 'D'), |
| 13 | + "CFCharacterSetCreateWithCharactersInRange includes exactly the range."); |
| 14 | + CFRelease (s); |
| 15 | + |
| 16 | + s = CFCharacterSetCreateWithCharactersInRange (NULL, CFRangeMake ('A', 0)); |
| 17 | + PASS_CF(!CFCharacterSetIsCharacterMember (s, 'A'), |
| 18 | + "CFCharacterSetCreateWithCharactersInRange of an empty range is empty."); |
| 19 | + CFRelease (s); |
| 20 | + |
| 21 | + s = CFCharacterSetCreateWithCharactersInRange (NULL, CFRangeMake (0x1F600, 1)); |
| 22 | + PASS_CF(CFCharacterSetIsLongCharacterMember (s, 0x1F600) |
| 23 | + && !CFCharacterSetIsLongCharacterMember (s, 0x1F601), |
| 24 | + "CFCharacterSetIsLongCharacterMember matches exactly a one-character range."); |
| 25 | + CFRelease (s); |
| 26 | + |
| 27 | + m = CFCharacterSetCreateMutable (NULL); |
| 28 | + CFCharacterSetAddCharactersInRange (m, CFRangeMake ('0', 2)); |
| 29 | + PASS_CF(CFCharacterSetIsCharacterMember (m, '0') |
| 30 | + && CFCharacterSetIsCharacterMember (m, '1') |
| 31 | + && !CFCharacterSetIsCharacterMember (m, '2'), |
| 32 | + "CFCharacterSetAddCharactersInRange adds exactly the range."); |
| 33 | + |
| 34 | + CFCharacterSetAddCharactersInString (m, CFSTR("xy")); |
| 35 | + CFCharacterSetRemoveCharactersInRange (m, CFRangeMake ('x', 1)); |
| 36 | + PASS_CF(!CFCharacterSetIsCharacterMember (m, 'x') |
| 37 | + && CFCharacterSetIsCharacterMember (m, 'y'), |
| 38 | + "CFCharacterSetRemoveCharactersInRange removes exactly the range."); |
| 39 | + CFRelease (m); |
| 40 | + |
| 41 | + return 0; |
| 42 | +} |
0 commit comments