Skip to content
This repository has been archived by the owner on Nov 12, 2020. It is now read-only.

Commit

Permalink
Fixes for some new CPString tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ross Boucher committed Feb 27, 2009
1 parent 723c9ae commit 6750b90
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 7 deletions.
11 changes: 7 additions & 4 deletions Foundation/CPString.j
Expand Up @@ -91,7 +91,7 @@ var CPStringHashes = new objj_dictionary();
*/
+ (id)stringWithHash:(unsigned)aHash
{
var hashString = String(aHash);
var hashString = parseInt(aHash, 10).toString(16);
return "000000".substring(0, MAX(6-hashString.length, 0)) + hashString;
}

Expand Down Expand Up @@ -222,13 +222,16 @@ var CPStringHashes = new objj_dictionary();
return substr(0, aLength);

var string = self,
substring = aString.substr(anIndex),
substring = aString.substring(anIndex),
difference = aLength - length;

while ((difference -= substring.length) > 0)
while ((difference -= substring.length) >= 0)
string += substring;

if (difference) string += substring.substr(difference + substring.length);
if (-difference < substring.length)
string += substring.substring(0, -difference);

return string;
}

//Dividing Strings
Expand Down
27 changes: 24 additions & 3 deletions Tests/Foundation/CPStringTest.j
Expand Up @@ -90,9 +90,9 @@ import <Foundation/CPString.j>
- (void)testStringByPaddingToLength
{
[self assert:"onebcd"
equals:["one" stringByPaddingToLength:6
withString:"abcdefg"
startingAtIndex:1]];
equals:["one" stringByPaddingToLength:6
withString:"abcdefg"
startingAtIndex:1]];
}

- (void)testComponentsSeparatedByString
Expand Down Expand Up @@ -157,6 +157,27 @@ import <Foundation/CPString.j>
[self assert:[testStrings[i][0] capitalizedString] equals:testStrings[i][1]];
}

- (void)testUppercaseString
{
var str = "This is a test";
[self assert:[str uppercaseString] equals:"THIS IS A TEST"];
}

- (void)testLowercaseString
{
var str = "This Is A TEST";
[self assert:"this is a test" equals:[str lowercaseString]];
}

- (void)testStringWithHash
{
[self assert:"000000" equals:[CPString stringWithHash:0]];
[self assert:"000001" equals:[CPString stringWithHash:1]];
[self assert:"00000a" equals:[CPString stringWithHash:10]];
[self assert:"000010" equals:[CPString stringWithHash:16]];
[self assert:"ffffff" equals:[CPString stringWithHash:16777215]];
}

- (void)testStringByDeletingLastPathComponent
{
var testStrings = [
Expand Down

0 comments on commit 6750b90

Please sign in to comment.