From 1c8ac33970f6e200f236914443d1f0ea3b2a8e0c Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Tue, 5 Aug 2014 10:33:24 -0400 Subject: Fix incorrect comments in listbase, add unit test to verify change Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D708 --- tests/gtests/blenlib/BLI_listbase_test.cc | 39 +++++++++++++++++++++++++++++++ tests/gtests/blenlib/CMakeLists.txt | 2 ++ 2 files changed, 41 insertions(+) create mode 100644 tests/gtests/blenlib/BLI_listbase_test.cc (limited to 'tests/gtests') diff --git a/tests/gtests/blenlib/BLI_listbase_test.cc b/tests/gtests/blenlib/BLI_listbase_test.cc new file mode 100644 index 00000000000..4b4d5d80a43 --- /dev/null +++ b/tests/gtests/blenlib/BLI_listbase_test.cc @@ -0,0 +1,39 @@ +/* Apache License, Version 2.0 */ + +#include "testing/testing.h" + +extern "C" { +#include "BLI_listbase.h" +#include "MEM_guardedalloc.h" +} + +TEST(listbase, FindLinkOrIndex) +{ + ListBase lb; + void *link1 = MEM_callocN(sizeof(Link), "link1"); + void *link2 = MEM_callocN(sizeof(Link), "link2"); + + /* Empty list */ + BLI_listbase_clear(&lb); + EXPECT_EQ(NULL, BLI_findlink(&lb, -1)); + EXPECT_EQ(NULL, BLI_findlink(&lb, 0)); + EXPECT_EQ(NULL, BLI_findlink(&lb, 1)); + EXPECT_EQ(NULL, BLI_rfindlink(&lb, -1)); + EXPECT_EQ(NULL, BLI_rfindlink(&lb, 0)); + EXPECT_EQ(NULL, BLI_rfindlink(&lb, 1)); + EXPECT_EQ(-1, BLI_findindex(&lb, link1)); + + /* One link */ + BLI_addtail(&lb, link1); + EXPECT_EQ(link1, BLI_findlink(&lb, 0)); + EXPECT_EQ(link1, BLI_rfindlink(&lb, 0)); + EXPECT_EQ(0, BLI_findindex(&lb, link1)); + + /* Two links */ + BLI_addtail(&lb, link2); + EXPECT_EQ(link2, BLI_findlink(&lb, 1)); + EXPECT_EQ(link2, BLI_rfindlink(&lb, 0)); + EXPECT_EQ(1, BLI_findindex(&lb, link2)); + + BLI_freelistN(&lb); +} diff --git a/tests/gtests/blenlib/CMakeLists.txt b/tests/gtests/blenlib/CMakeLists.txt index d55fdd1cd2a..07b89a9042e 100644 --- a/tests/gtests/blenlib/CMakeLists.txt +++ b/tests/gtests/blenlib/CMakeLists.txt @@ -25,6 +25,7 @@ set(INC . .. ../../../source/blender/blenlib + ../../../source/blender/makesdna ../../../intern/guardedalloc ) @@ -39,3 +40,4 @@ BLENDER_TEST(BLI_math_color "bf_blenlib") BLENDER_TEST(BLI_math_geom "bf_blenlib") BLENDER_TEST(BLI_string "bf_blenlib") BLENDER_TEST(BLI_path_util "bf_blenlib;extern_wcwidth;${ZLIB_LIBRARIES}") +BLENDER_TEST(BLI_listbase "bf_blenlib") -- cgit v1.2.3