aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar ajuma <ajuma@chromium.org>2014-08-18 12:59:55 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-08-18 12:59:55 -0700
commit750ae26745d261183001a78d24251f6392e96b27 (patch)
tree58e795cc8408f83f088cd6270d2b9b9ed84a3bfc /tests
parent637e57e3beca3a2b488b16997d428406bb6f655f (diff)
Expose API for whether an SkPicture contains text
BUG=chromium:399728 R=reed@google.com, nduca@chromium.org Author: ajuma@chromium.org Review URL: https://codereview.chromium.org/478673002
Diffstat (limited to 'tests')
-rw-r--r--tests/PictureTest.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp
index b3f13f03a6..b7e4bb6cca 100644
--- a/tests/PictureTest.cpp
+++ b/tests/PictureTest.cpp
@@ -919,6 +919,63 @@ static void test_gpu_picture_optimization(skiatest::Reporter* reporter,
#endif
+static void test_has_text(skiatest::Reporter* reporter) {
+ SkPictureRecorder recorder;
+ SkPaint paint;
+ paint.setColor(SK_ColorBLUE);
+ SkPoint point = SkPoint::Make(10, 10);
+
+ SkCanvas* canvas = recorder.beginRecording(100, 100);
+ {
+ canvas->drawRect(SkRect::MakeWH(20, 20), paint);
+ }
+ SkAutoTUnref<SkPicture> picture(recorder.endRecording());
+ REPORTER_ASSERT(reporter, !picture->hasText());
+
+ canvas = recorder.beginRecording(100, 100);
+ {
+ canvas->drawText("Q", 1, point.fX, point.fY, paint);
+ }
+ picture.reset(recorder.endRecording());
+ REPORTER_ASSERT(reporter, picture->hasText());
+
+ canvas = recorder.beginRecording(100, 100);
+ {
+ canvas->drawPosText("Q", 1, &point, paint);
+ }
+ picture.reset(recorder.endRecording());
+ REPORTER_ASSERT(reporter, picture->hasText());
+
+ canvas = recorder.beginRecording(100, 100);
+ {
+ canvas->drawPosTextH("Q", 1, &point.fX, point.fY, paint);
+ }
+ picture.reset(recorder.endRecording());
+ REPORTER_ASSERT(reporter, picture->hasText());
+
+ canvas = recorder.beginRecording(100, 100);
+ {
+ SkPath path;
+ path.moveTo(0, 0);
+ path.lineTo(50, 50);
+
+ canvas->drawTextOnPathHV("Q", 1, path, point.fX, point.fY, paint);
+ }
+ picture.reset(recorder.endRecording());
+ REPORTER_ASSERT(reporter, picture->hasText());
+
+ canvas = recorder.beginRecording(100, 100);
+ {
+ SkPath path;
+ path.moveTo(0, 0);
+ path.lineTo(50, 50);
+
+ canvas->drawTextOnPath("Q", 1, path, NULL, paint);
+ }
+ picture.reset(recorder.endRecording());
+ REPORTER_ASSERT(reporter, picture->hasText());
+}
+
static void set_canvas_to_save_count_4(SkCanvas* canvas) {
canvas->restoreToCount(1);
canvas->save();
@@ -1561,6 +1618,7 @@ DEF_TEST(Picture, reporter) {
#if SK_SUPPORT_GPU
test_gpu_veto(reporter);
#endif
+ test_has_text(reporter);
test_gatherpixelrefs(reporter);
test_gatherpixelrefsandrects(reporter);
test_bitmap_with_encoded_data(reporter);