mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-13 06:01:28 +00:00
Merge pull request #3297 from enquora/CPException-fix-missing
Fix undefined function call in CPArray range/argument exceptions
This commit is contained in:
Executable → Regular
+2
-2
@@ -264,13 +264,13 @@ function _CPRaiseInvalidAbstractInvocation(anObject, aSelector)
|
||||
function _CPRaiseInvalidArgumentException(anObject, aSelector, aMessage)
|
||||
{
|
||||
[CPException raise:CPInvalidArgumentException
|
||||
reason:METHOD_CALL_STRING() + aMessage];
|
||||
reason:_CPMethodCallString(anObject, aSelector) + aMessage];
|
||||
}
|
||||
|
||||
function _CPRaiseRangeException(anObject, aSelector, anIndex, aCount)
|
||||
{
|
||||
[CPException raise:CPRangeException
|
||||
reason:METHOD_CALL_STRING() + "index (" + anIndex + ") beyond bounds (" + aCount + ")"];
|
||||
reason:_CPMethodCallString(anObject, aSelector) + "index (" + anIndex + ") beyond bounds (" + aCount + ")"];
|
||||
}
|
||||
|
||||
function _CPReportLenientDeprecation(/*Class*/ aClass, /*SEL*/ oldSelector, /*SEL*/ newSelector)
|
||||
|
||||
@@ -82,18 +82,26 @@
|
||||
- (void)test_objectAtIndex_
|
||||
{
|
||||
var arrayClass = [[self class] arrayClass],
|
||||
array = [arrayClass array];
|
||||
array = [arrayClass array],
|
||||
e;
|
||||
|
||||
[self assertThrows:function () { [array objectAtIndex:-1] }];
|
||||
[self assertThrows:function () { [array objectAtIndex:0] }];
|
||||
e = [self assertThrows:function () { [array objectAtIndex:-1] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
|
||||
e = [self assertThrows:function () { [array objectAtIndex:0] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
|
||||
var array = [arrayClass arrayWithObjects:0, 1, 2];
|
||||
|
||||
[self assertThrows:function () { [array objectAtIndex:-1] }];
|
||||
e = [self assertThrows:function () { [array objectAtIndex:-1] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
|
||||
[self assert:[array objectAtIndex:0] same:0];
|
||||
[self assert:[array objectAtIndex:1] same:1];
|
||||
[self assert:[array objectAtIndex:2] same:2];
|
||||
[self assertThrows:function () { [array objectAtIndex:3] }];
|
||||
|
||||
e = [self assertThrows:function () { [array objectAtIndex:3] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
}
|
||||
|
||||
- (void)test_objectsAtIndexes_
|
||||
@@ -104,20 +112,29 @@
|
||||
}
|
||||
|
||||
var arrayClass = [[self class] arrayClass],
|
||||
array = [arrayClass array];
|
||||
array = [arrayClass array],
|
||||
e;
|
||||
|
||||
[self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(0, 1)] }];
|
||||
e = [self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(0, 1)] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
|
||||
var array = [arrayClass arrayWithObjects:0, 1, 2];
|
||||
|
||||
[self assert:[array objectsAtIndexes:rangeIndexes(0, 1)] equals:[0]];
|
||||
[self assert:[array objectsAtIndexes:rangeIndexes(0, 2)] equals:[0, 1]];
|
||||
[self assert:[array objectsAtIndexes:rangeIndexes(0, 3)] equals:[0, 1, 2]];
|
||||
[self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(0, 4)] }];
|
||||
|
||||
e = [self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(0, 4)] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
|
||||
[self assert:[array objectsAtIndexes:rangeIndexes(1, 1)] equals:[1]];
|
||||
[self assert:[array objectsAtIndexes:rangeIndexes(1, 2)] equals:[1, 2]];
|
||||
[self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(1, 3)] }];
|
||||
[self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(3, 1)] }];
|
||||
|
||||
e = [self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(1, 3)] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
|
||||
e = [self assertThrows:function () { [array objectsAtIndexes:rangeIndexes(3, 1)] }];
|
||||
[self assert:CPRangeException equals:[e name]];
|
||||
}
|
||||
|
||||
- (void)test_indexOfObject_
|
||||
@@ -829,7 +846,7 @@
|
||||
- (id)objectAtIndex:(CPUInteger)anIndex
|
||||
{
|
||||
if (anIndex < 0 || anIndex >= [self count])
|
||||
throw "range error";
|
||||
[CPException raise:CPRangeException reason:"index (" + anIndex + ") beyond bounds (" + [self count] + ")"];
|
||||
|
||||
return array[anIndex];
|
||||
}
|
||||
|
||||
@@ -578,7 +578,7 @@
|
||||
- (id)objectAtIndex:(CPUInteger)anIndex
|
||||
{
|
||||
if (anIndex < 0 || anIndex >= [self count])
|
||||
throw "range error";
|
||||
[CPException raise:CPRangeException reason:"index (" + anIndex + ") beyond bounds (" + [self count] + ")"];
|
||||
|
||||
return array[anIndex];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user