Unit test for conic weight GrPath key collision

BUG=skia:4580
R=robertphillips@google.com,bsalomon@google.com

Review URL: https://codereview.chromium.org/1454223002
This commit is contained in:
fmalita 2015-11-19 07:28:50 -08:00 committed by Commit bot
parent c3c6194ba2
commit 3b4444802f

View File

@ -11,6 +11,8 @@
#include "GrContext.h"
#include "GrContextFactory.h"
#include "GrPath.h"
#include "GrStrokeInfo.h"
#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkColor.h"
@ -110,4 +112,25 @@ DEF_GPUTEST(GpuDrawPathSameRectOvals, reporter, factory) {
test_drawSameRectOvals(reporter, surface->getCanvas());
}
DEF_TEST(GrPathKeys, reporter) {
// Keys should not ignore conic weights.
SkPath path1, path2;
path1.setIsVolatile(true);
path2.setIsVolatile(true);
SkPoint p0 = SkPoint::Make(100, 0);
SkPoint p1 = SkPoint::Make(100, 100);
path1.conicTo(p0, p1, .5f);
path2.conicTo(p0, p1, .7f);
bool isVolatile;
GrUniqueKey key1, key2;
GrStrokeInfo stroke(SkStrokeRec::kFill_InitStyle);
GrPath::ComputeKey(path1, stroke, &key1, &isVolatile);
GrPath::ComputeKey(path2, stroke, &key2, &isVolatile);
// https://bugs.chromium.org/p/skia/issues/detail?id=4580
// REPORTER_ASSERT(reporter, key1 != key2);
}
#endif