diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2014-08-05 18:33:24 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2014-08-05 18:33:24 +0400 |
commit | 1c8ac33970f6e200f236914443d1f0ea3b2a8e0c (patch) | |
tree | 9e15e902e34d310ace6bc4b8a124df5ebfedaa5f /tests/gtests/blenlib/BLI_listbase_test.cc | |
parent | 4c3b25ec9e8158ebddaedf66a3672dd30ee36fa4 (diff) |
Fix incorrect comments in listbase, add unit test to verify change
Reviewers: campbellbarton
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D708
Diffstat (limited to 'tests/gtests/blenlib/BLI_listbase_test.cc')
-rw-r--r-- | tests/gtests/blenlib/BLI_listbase_test.cc | 39 |
1 files changed, 39 insertions, 0 deletions
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); +} |