Home | History | Annotate | Download | only in tests
      1 /*
      2  * Copyright 2016 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "Test.h"
      9 #include "SkCanvas.h"
     10 #include "SkSurface.h"
     11 
     12 // This passes by not crashing.
     13 static void test(SkCanvas* canvas) {
     14     SkPaint paint;
     15     paint.setAntiAlias(true);
     16     canvas->scale(63, 0);
     17     static const char kTxt[] = "A";
     18     canvas->drawText(kTxt, SK_ARRAY_COUNT(kTxt), 50, 50, paint);
     19 }
     20 
     21 DEF_TEST(skbug5221, r) {
     22     sk_sp<SkSurface> surface(SkSurface::MakeRaster(SkImageInfo::MakeN32Premul(256, 256)));
     23     test(surface->getCanvas());
     24 }
     25 
     26 #if SK_SUPPORT_GPU
     27 DEF_GPUTEST_FOR_ALL_CONTEXTS(skbug5221_GPU, r, contextInfo) {
     28     sk_sp<SkSurface> surface(SkSurface::MakeRenderTarget(
     29             contextInfo.grContext(), SkBudgeted::kYes,
     30             SkImageInfo::Make(256, 256, kRGBA_8888_SkColorType, kPremul_SkAlphaType)));
     31     test(surface->getCanvas());
     32 }
     33 #endif
     34