From 9a0c5b4dfa7fdb6f980d03bbfb93064e9f2ec81d Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Thu, 29 Jun 2017 22:17:11 +0300 Subject: [PATCH] [test] Use test::checkImage in API.RepeatedRender --- test/api/repeated_render.test.cpp | 14 +++++--------- test/fixtures/api/repeated_render/expected.png | Bin 0 -> 31046 bytes 2 files changed, 5 insertions(+), 9 deletions(-) create mode 100644 test/fixtures/api/repeated_render/expected.png diff --git a/test/api/repeated_render.test.cpp b/test/api/repeated_render.test.cpp index b6565dbf2..3da65939c 100644 --- a/test/api/repeated_render.test.cpp +++ b/test/api/repeated_render.test.cpp @@ -25,7 +25,7 @@ TEST(API, RepeatedRender) { HeadlessBackend backend { test::sharedDisplay() }; BackendScope scope { backend }; - OffscreenView view { backend.getContext(), { 256, 512 } }; + OffscreenView view { backend.getContext(), { 512, 512 } }; DefaultFileSource fileSource(":memory:", "test/fixtures/api/assets"); ThreadPool threadPool(4); @@ -44,11 +44,9 @@ TEST(API, RepeatedRender) { loop.runOnce(); } - ASSERT_EQ(256u, result.size.width); + ASSERT_EQ(512u, result.size.width); ASSERT_EQ(512u, result.size.height); -#if !TEST_READ_ONLY - util::write_file("test/fixtures/api/1.png", encodePNG(result)); -#endif + test::checkImage("test/fixtures/api/repeated_render", result, 0.0003, 0.1); } { @@ -62,11 +60,9 @@ TEST(API, RepeatedRender) { loop.runOnce(); } - ASSERT_EQ(256u, result.size.width); + ASSERT_EQ(512u, result.size.width); ASSERT_EQ(512u, result.size.height); -#if !TEST_READ_ONLY - util::write_file("test/fixtures/api/2.png", encodePNG(result)); -#endif + test::checkImage("test/fixtures/api/repeated_render", result, 0.0003, 0.1); } auto observer = Log::removeObserver(); diff --git a/test/fixtures/api/repeated_render/expected.png b/test/fixtures/api/repeated_render/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..927f6d4c82bb0a8b67d7df413058d664d50fd805 GIT binary patch literal 31046 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 x4EX@Q;?om?Ph>gJ*H