diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/PictureTest.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp new file mode 100644 index 0000000000..34d7832034 --- /dev/null +++ b/tests/PictureTest.cpp @@ -0,0 +1,42 @@ +/* + * Copyright 2012 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +#include "Test.h" +#include "SkPicture.h" +#include "SkStream.h" + +#ifdef SK_DEBUG +// Ensure that deleting SkPicturePlayback does not assert. Asserts only fire in debug mode, so only +// run in debug mode. +static void test_deleting_empty_playback() { + SkPicture picture; + // Creates an SkPictureRecord + picture.beginRecording(0, 0); + // Turns that into an SkPicturePlayback + picture.endRecording(); + // Deletes the old SkPicturePlayback, and creates a new SkPictureRecord + picture.beginRecording(0, 0); +} + +// Ensure that serializing an empty picture does not assert. Likewise only runs in debug mode. +static void test_serializing_empty_picture() { + SkPicture picture; + picture.beginRecording(0, 0); + picture.endRecording(); + SkDynamicMemoryWStream stream; + picture.serialize(&stream); +} +#endif + +static void TestPicture(skiatest::Reporter* reporter) { +#ifdef SK_DEBUG + test_deleting_empty_playback(); + test_serializing_empty_picture(); +#endif +} + +#include "TestClassDef.h" +DEFINE_TESTCLASS("Picture", PictureTestClass, TestPicture) |