Skip to content

Commit 138197f

Browse files
committed
Add list_insert_empty() function
1 parent f5c1895 commit 138197f

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

src/scratch/list_functions.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,9 @@ extern "C"
2222
{
2323
return &list->appendEmpty();
2424
}
25+
26+
ValueData *list_insert_empty(List *list, size_t index)
27+
{
28+
return &list->insertEmpty(index);
29+
}
2530
}

src/scratch/list_functions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ extern "C"
1616
void list_remove(List *list, size_t index);
1717

1818
ValueData *list_append_empty(List *list);
19+
ValueData *list_insert_empty(List *list, size_t index);
1920
}
2021

2122
} // namespace libscratchcpp

test/scratch_classes/list_functions_test.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,20 @@ TEST(ListFunctionsTest, AppendEmpty)
5252
value_assign_string(v, "test");
5353
ASSERT_EQ(list.toString(), "Lorem ipsum 5 test");
5454
}
55+
56+
TEST(ListFunctionsTest, InsertEmpty)
57+
{
58+
List list("", "test list");
59+
list.append("Lorem");
60+
list.append("ipsum");
61+
62+
ValueData *v = list_insert_empty(&list, 0);
63+
value_init(v);
64+
value_assign_double(v, 5);
65+
ASSERT_EQ(list.toString(), "5 Lorem ipsum");
66+
67+
v = list_insert_empty(&list, 2);
68+
value_init(v);
69+
value_assign_string(v, "test");
70+
ASSERT_EQ(list.toString(), "5 Lorem test ipsum");
71+
}

0 commit comments

Comments
 (0)