Remove dead code and improve testing

This commit is contained in:
Richard Frith-Macdonald 2018-02-07 09:48:56 +00:00
parent 3edc201239
commit 14c2d9402d
4 changed files with 108 additions and 14 deletions

View file

@ -1,3 +1,9 @@
2018-02-07 Richard Frith-Macdonald <rfm@gnu.org>
* Source/GSAttributedString.m: remove a little dead code
* Tests/base/NSMutableAttributedString/test00.m: add sanity checks
* Tests/base/NSMutableAttributedString/test01.m: add sanity checks
2018-02-07 Yavor Doganov <yavor@gnu.org>
* Source/NSPortMessage.m (sendBeforeDate:): Invoke

View file

@ -713,19 +713,16 @@ SANITY();
afterRangeLoc, &effectiveRange, tmpLength, _infoArray, &arrayIndex);
if (attrs == attributes)
{
/*
* The located range has the same attributes as us - so we can
/* The located range has the same attributes as us - so we can
* extend our range to include it.
*/
if (effectiveRange.location < beginRangeLoc)
{
range.length += beginRangeLoc - effectiveRange.location;
range.location = effectiveRange.location;
beginRangeLoc = range.location;
beginRangeLoc = effectiveRange.location;
}
if (NSMaxRange(effectiveRange) > afterRangeLoc)
{
range.length = NSMaxRange(effectiveRange) - range.location;
afterRangeLoc = NSMaxRange(effectiveRange);
}
}
else if (effectiveRange.location > beginRangeLoc)

View file

@ -2,6 +2,17 @@
#import <Foundation/NSAttributedString.h>
#import <Foundation/NSAutoreleasePool.h>
@interface NSMutableAttributedString(evil)
-(void) _sanity;
@end
#if !defined(GNUSTEP_BASE_LIBRARY)
@implementation NSMutableAttributedString(evil)
- (void) _sanity
{
}
@end
#endif
@interface NSColor : NSObject
+ (id) redColor;
+ (id) blueColor;
@ -22,25 +33,25 @@ NSString *NSForegroundColorAttributeName = @"NSForegroundColorAttributeName";
@interface NSMutableAttributedString (TestingAdditions)
-(BOOL)checkAttributes:(NSDictionary *)attr location:(int)location;
-(BOOL)checkAttributes:(NSDictionary *)attr range:(NSRange)range;
-(BOOL)checkAttributes: (NSDictionary *)attr location: (int)location;
-(BOOL)checkAttributes: (NSDictionary *)attr range: (NSRange)range;
@end
@implementation NSMutableAttributedString (TestingAdditions)
-(BOOL)checkAttributes:(NSDictionary *)attr location:(int)loc
-(BOOL) checkAttributes: (NSDictionary *)attr location: (int)loc
{
return [[self attributesAtIndex:loc
effectiveRange:NULL] isEqual:attr];
}
-(BOOL)checkAttributes:(NSDictionary *)attr range:(NSRange)range
-(BOOL) checkAttributes: (NSDictionary *)attr range: (NSRange)range
{
NSRange aRange = range;
while (aRange.length > 0)
{
BOOL attrEqual;
attrEqual= [[self attributesAtIndex:aRange.location + (aRange.length - 1)
effectiveRange:NULL] isEqual:attr];
attrEqual= [[self attributesAtIndex: aRange.location + (aRange.length - 1)
effectiveRange: NULL] isEqual: attr];
if (attrEqual == NO)
return NO;
@ -60,6 +71,7 @@ int main()
NSMutableAttributedString *s;
s = [[[NSMutableAttributedString alloc]
initWithString: @"string"] autorelease];
[s _sanity];
PASS_EQUAL([s string], @"string", "equality OK for string value");
PASS([s length] == 6, "length reported correctly");
PASS_EQUAL([s attributesAtIndex: 0 effectiveRange: NULL],
@ -67,6 +79,7 @@ int main()
[s setAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[NSColor redColor], NSForegroundColorAttributeName, nil]
range: NSMakeRange(0, 3)];
[s _sanity];
PASS([[s attributesAtIndex: 0 effectiveRange: NULL] count] == 1,
"newly set attribute dictionary contains one attribute");
PASS([[s attributesAtIndex: 3 effectiveRange: NULL] count] == 0,
@ -74,6 +87,7 @@ int main()
[s setAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[NSColor blueColor], NSForegroundColorAttributeName, nil]
range: NSMakeRange(3, 3)];
[s _sanity];
PASS([[s attributesAtIndex: 0 effectiveRange: NULL] count] == 1,
"attribute count at 0 unchanged");
PASS([[s attributesAtIndex: 3 effectiveRange: NULL] count] == 1,
@ -85,41 +99,60 @@ int main()
attrStr = [[NSMutableAttributedString alloc] initWithString:baseString
attributes:red];
[attrStr _sanity];
PASS([[attrStr string] isEqual:baseString] &&
[attrStr checkAttributes:red range:NSMakeRange(0,10)],
"-initWithString:attributes: works");
[attrStr setAttributes:blue range:NSMakeRange(0,10)];
[attrStr _sanity];
PASS([attrStr checkAttributes:blue range:NSMakeRange(0,10)],
"-setAttributes:range: works for the whole string");
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(0,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:blue range:NSMakeRange(0,5)] &&
[attrStr checkAttributes:red range:NSMakeRange(5,5)],
"-setAttributes:range: works for the first half of the string");
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(3,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,3)] &&
[attrStr checkAttributes:blue range:NSMakeRange(3,5)] &&
[attrStr checkAttributes:red range:NSMakeRange(8,2)],
"-setAttributes:range: works for the middle of the string");
[attrStr setAttributes:blue range:NSMakeRange(4,3)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,3)] &&
[attrStr checkAttributes:blue range:NSMakeRange(3,5)] &&
[attrStr checkAttributes:red range:NSMakeRange(8,2)],
"-setAttributes:range: works for same attributes in middle of string");
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(5,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,5)] &&
[attrStr checkAttributes:blue range:NSMakeRange(5,5)],
"-setAttributes:range: works for the last half of the string");
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(0,3)];
[attrStr _sanity];
[attrStr setAttributes:red range:NSMakeRange(3,4)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(7,3)];
[attrStr _sanity];
PASS([attrStr checkAttributes:blue range:NSMakeRange(0,3)] &&
[attrStr checkAttributes:red range:NSMakeRange(3,4)] &&
[attrStr checkAttributes:gray range:NSMakeRange(7,3)],
@ -127,9 +160,13 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(0,5)];
[attrStr _sanity];
[attrStr setAttributes:red range:NSMakeRange(3,5)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(4,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:blue range:NSMakeRange(0,3)] &&
[attrStr checkAttributes:red range:NSMakeRange(3,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(4,5)] &&
@ -138,10 +175,15 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,2)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(4,2)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(7,2)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,6)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:blue range:NSMakeRange(1,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(2,6)] &&
@ -151,8 +193,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(2,5)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,2)] &&
[attrStr checkAttributes:gray range:NSMakeRange(2,5)] &&
[attrStr checkAttributes:red range:NSMakeRange(7,3)],
@ -160,9 +205,13 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,8)];
[attrStr _sanity];
[attrStr setAttributes:red range:NSMakeRange(2,6)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(3,4)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:blue range:NSMakeRange(1,1)] &&
[attrStr checkAttributes:red range:NSMakeRange(2,1)] &&
@ -174,8 +223,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(1,4)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(1,4)] &&
[attrStr checkAttributes:red range:NSMakeRange(5,5)],
@ -183,8 +235,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(1,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(1,4)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(1,4)] &&
[attrStr checkAttributes:red range:NSMakeRange(5,5)],
@ -192,8 +247,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(2,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(1,4)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(1,4)] &&
[attrStr checkAttributes:red range:NSMakeRange(5,5)],
@ -201,8 +259,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(1,4)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(1,4)] &&
[attrStr checkAttributes:red range:NSMakeRange(5,5)],
@ -211,8 +272,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,2)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:blue range:NSMakeRange(1,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(2,2)] &&
@ -221,8 +285,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(1,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,2)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:gray range:NSMakeRange(1,3)] &&
[attrStr checkAttributes:red range:NSMakeRange(4,6)],
@ -230,8 +297,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(2,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,2)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,2)] &&
[attrStr checkAttributes:gray range:NSMakeRange(2,2)] &&
[attrStr checkAttributes:blue range:NSMakeRange(4,1)] &&
@ -240,8 +310,11 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,3)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,2)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,2)] &&
[attrStr checkAttributes:gray range:NSMakeRange(2,3)] &&
[attrStr checkAttributes:red range:NSMakeRange(5,5)],
@ -249,9 +322,13 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(2,1)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(4,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:blue range:NSMakeRange(1,5)] &&
[attrStr checkAttributes:red range:NSMakeRange(6,4)],
@ -259,9 +336,13 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(2,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(4,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,5)];
[attrStr _sanity];
PASS([attrStr checkAttributes:red range:NSMakeRange(0,1)] &&
[attrStr checkAttributes:blue range:NSMakeRange(1,5)] &&
[attrStr checkAttributes:red range:NSMakeRange(6,4)],
@ -269,19 +350,29 @@ int main()
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(2,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(4,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(7,2)];
[attrStr _sanity];
[attrStr setAttributes:red range:NSMakeRange(3,2)];
[attrStr _sanity];
[attrStr setAttributes:gray range:NSMakeRange(0,10)];
[attrStr _sanity];
PASS([attrStr checkAttributes:gray range:NSMakeRange(0,10)],
"-setAttributes:range: works with setting attributes for the whole string");
ASSIGN(attrStr,[[NSMutableAttributedString alloc] initWithString:baseString
attributes:red]);
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(0,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(1,1)];
[attrStr _sanity];
[attrStr setAttributes:blue range:NSMakeRange(2,1)];
[attrStr _sanity];
PASS([attrStr checkAttributes:blue range:NSMakeRange(0,3)] &&
[attrStr checkAttributes:red range:NSMakeRange(3,7)],
"-setAttributes:range: works with nearby attributes");

View file

@ -6,9 +6,9 @@
@interface NSMutableAttributedString(evil)
-(void) _sanity;
@end
#if defined(GNUSTEP_BASE_LIBRARY)
#if !defined(GNUSTEP_BASE_LIBRARY)
@implementation NSMutableAttributedString(evil)
-(void) _sanity
- (void) _sanity
{
}
@end