mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-11-15 11:13:50 +00:00
CPCharacterSet isEqual support when the set is of the characterSetWithCharactersInString kind.
This commit is contained in:
1 parent
92c94eab8f
commit
0789f49b94
2 files changed
+34
No files matched your search
@@ -342,6 +342,25 @@ var _builtInCharacterSets = {};
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)isEqual:(CPCharacterSet)aCharacterSet
|
||||
{
|
||||
if (self === aCharacterSet)
|
||||
return YES;
|
||||
|
||||
if (!aCharacterSet || ![aCharacterSet isKindOfClass:[self class]])
|
||||
return NO;
|
||||
|
||||
return [self _isEqualToStringContentCharacterSet:aCharacterSet];
|
||||
}
|
||||
|
||||
- (BOOL)_isEqualToStringContentCharacterSet:(_CPStringContentCharacterSet)aCharacterSet
|
||||
{
|
||||
if (!aCharacterSet)
|
||||
return NO;
|
||||
|
||||
return _string == aCharacterSet._string && _inverted == aCharacterSet._inverted;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
var _CPStringContentCharacterSetStringKey = @"_CPStringContentCharacterSetStringKey";
|
||||
@@ -350,6 +369,8 @@ var _CPStringContentCharacterSetStringKey = @"_CPStringContentCharacterSetString
|
||||
|
||||
- (id)initWithCoder:(CPCoder)aCoder
|
||||
{
|
||||
// TODO Replace with self = [super initWithCoder:] when super supports it, to get
|
||||
// "inverted" flag.
|
||||
if (self)
|
||||
{
|
||||
_string = [aCoder decodeObjectForKey:_CPStringContentCharacterSetStringKey]
|
||||
@@ -360,6 +381,7 @@ var _CPStringContentCharacterSetStringKey = @"_CPStringContentCharacterSetString
|
||||
|
||||
- (void)encodeWithCoder:(CPCoder)aCoder
|
||||
{
|
||||
// TODO When supported, call super encodeWithCoder:.
|
||||
[aCoder encodeObject:_string forKey:_CPStringContentCharacterSetStringKey];
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,18 @@
|
||||
|
||||
@implementation CPCharacterSetTest : OJTestCase
|
||||
|
||||
- (void)testEquals
|
||||
{
|
||||
var charSetA = [CPCharacterSet characterSetWithCharactersInString:"abc"],
|
||||
charSetB = [CPCharacterSet characterSetWithCharactersInString:"abc"],
|
||||
charSetC = [CPCharacterSet characterSetWithCharactersInString:""];
|
||||
|
||||
[self assertFalse:[charSetA isEqual:[CPNull null]]];
|
||||
[self assertFalse:[charSetA isEqual:charSetC]];
|
||||
[self assertTrue:[charSetA isEqual:charSetA]];
|
||||
[self assertTrue:[charSetA isEqual:charSetB]];
|
||||
}
|
||||
|
||||
- (void)testArchiving
|
||||
{
|
||||
var charSet = [CPCharacterSet characterSetWithCharactersInString:"abc"],
|
||||
|
||||
Reference in new issue
Block a user