Fix incorrect comments in listbase, add unit test to verify change

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D708
This commit is contained in:
Nicholas Bishop 2014-08-05 10:33:24 -04:00
parent 4c3b25ec9e
commit 1c8ac33970
3 changed files with 44 additions and 3 deletions

View File

@ -354,7 +354,7 @@ int BLI_countlist(const ListBase *listbase)
}
/**
* Returns the nth element of \a listbase, numbering from 1.
* Returns the nth element of \a listbase, numbering from 0.
*/
void *BLI_findlink(const ListBase *listbase, int number)
{
@ -372,7 +372,7 @@ void *BLI_findlink(const ListBase *listbase, int number)
}
/**
* Returns the nth-last element of \a listbase, numbering from 1.
* Returns the nth-last element of \a listbase, numbering from 0.
*/
void *BLI_rfindlink(const ListBase *listbase, int number)
{
@ -390,7 +390,7 @@ void *BLI_rfindlink(const ListBase *listbase, int number)
}
/**
* Returns the position of \a vlink within \a listbase, numbering from 1, or -1 if not found.
* Returns the position of \a vlink within \a listbase, numbering from 0, or -1 if not found.
*/
int BLI_findindex(const ListBase *listbase, const void *vlink)
{

View File

@ -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);
}

View File

@ -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")