Skip to content

Commit 2991060

Browse files
committed
Core (Tests): Add unit test for image saving.
1 parent fdad179 commit 2991060

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

libvisual/tests/video_test/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ LV_BUILD_TEST(video_load_test
1313
LINK_LIBS video_test_common
1414
)
1515

16+
LV_BUILD_TEST(video_save_test
17+
SOURCES video_save_test.cpp
18+
LINK_LIBS video_test_common
19+
)
20+
1621
ADD_LIBRARY(video_test_common STATIC common.cpp)
1722
TARGET_LINK_LIBRARIES(video_test_common PUBLIC libvisual)
1823

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#include "test.h"
2+
#include <libvisual/libvisual.h>
3+
#include <sstream>
4+
5+
void test_save_indexed8 ()
6+
{
7+
auto png_image {LV::Video::create_from_file ("../images/additive-colors-indexed8.png")};
8+
LV_TEST_ASSERT (png_image);
9+
10+
std::stringstream buffer;
11+
LV_TEST_ASSERT (png_image->save_to_stream (buffer, "png"));
12+
13+
auto png_saved_image {LV::Video::create_from_stream (buffer)};
14+
LV_TEST_ASSERT(png_saved_image);
15+
LV_TEST_ASSERT(png_saved_image->has_same_content (png_image));
16+
}
17+
18+
void test_save_rgb24 ()
19+
{
20+
auto png_image {LV::Video::create_from_file ("../images/additive-colors-rgb24.png")};
21+
LV_TEST_ASSERT (png_image);
22+
23+
std::stringstream buffer;
24+
LV_TEST_ASSERT (png_image->save_to_stream (buffer, "png"));
25+
26+
auto png_saved_image {LV::Video::create_from_stream (buffer)};
27+
LV_TEST_ASSERT(png_saved_image);
28+
LV_TEST_ASSERT(png_saved_image->has_same_content (png_image));
29+
}
30+
31+
void test_save_argb32 ()
32+
{
33+
auto png_image {LV::Video::create_from_file ("../images/additive-colors-argb32.png")};
34+
LV_TEST_ASSERT (png_image);
35+
36+
std::stringstream buffer;
37+
LV_TEST_ASSERT (png_image->save_to_stream (buffer, "png"));
38+
39+
auto png_saved_image {LV::Video::create_from_stream (buffer)};
40+
LV_TEST_ASSERT(png_saved_image);
41+
LV_TEST_ASSERT(png_saved_image->has_same_content (png_image));
42+
}
43+
44+
int main (int argc, char* argv[])
45+
{
46+
LV::System::init (argc, argv);
47+
48+
test_save_indexed8 ();
49+
test_save_rgb24 ();
50+
test_save_argb32 ();
51+
52+
LV::System::destroy ();
53+
}

0 commit comments

Comments
 (0)