Add unit test for SkRect::hasValidCoordinates().
git-svn-id: http://skia.googlecode.com/svn/trunk@765 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
116b2bcd2c
commit
ff1ec2f1a8
39
tests/InfRectTest.cpp
Normal file
39
tests/InfRectTest.cpp
Normal file
@ -0,0 +1,39 @@
|
||||
#include "Test.h"
|
||||
#include "SkRect.h"
|
||||
|
||||
// Tests that hasValidCoordinates() will reject any rect with +/-inf values
|
||||
// as one of its coordinates.
|
||||
static void TestInfRect(skiatest::Reporter* reporter) {
|
||||
|
||||
SkRect rect = SkRect::MakeXYWH(10.0f, 10.0f, 100.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(10.0f, 10.0f, 100.0f, 1.0f/0.0f); // Make 'inf' value without numeric_limits.
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(10.0f, 10.0f, 1.0f/0.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(1.0f/0.0f, 10.0f, 100.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(10.0f, 1.0f/0.0f, 100.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(10.0f, 10.0f, 100.0f, -1.0f/0.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(10.0f, 10.0f, -1.0f/0.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(-1.0f/0.0f, 10.0f, 100.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
|
||||
rect = SkRect::MakeXYWH(10.0f, -1.0f/0.0f, 100.0f, 100.0f);
|
||||
REPORTER_ASSERT(reporter, !rect.hasValidCoordinates());
|
||||
}
|
||||
|
||||
// need tests for SkStrSearch
|
||||
|
||||
#include "TestClassDef.h"
|
||||
DEFINE_TESTCLASS("InfRect", InfRectTestClass, TestInfRect)
|
@ -23,4 +23,5 @@ SOURCE := \
|
||||
StringTest.cpp \
|
||||
Test.cpp \
|
||||
TestSize.cpp \
|
||||
UtilsTest.cpp
|
||||
UtilsTest.cpp \
|
||||
InfRectTest.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user