Skip to content

Commit 9e790d0

Browse files
committed
Add value_append_empty() function
1 parent 4901aa0 commit 9e790d0

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

src/scratch/list_functions.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,9 @@ extern "C"
1717
{
1818
list->removeAt(index);
1919
}
20+
21+
ValueData *list_append_empty(List *list)
22+
{
23+
return &list->appendEmpty();
24+
}
2025
}

src/scratch/list_functions.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@ namespace libscratchcpp
88
{
99

1010
class List;
11+
struct ValueData;
1112

1213
extern "C"
1314
{
1415
void list_clear(List *list);
1516
void list_remove(List *list, size_t index);
17+
18+
ValueData *list_append_empty(List *list);
1619
}
1720

1821
} // namespace libscratchcpp

test/scratch_classes/list_functions_test.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,20 @@ TEST(ListFunctionsTest, Remove)
3535
list_remove(&list, 0);
3636
ASSERT_TRUE(list.empty());
3737
}
38+
39+
TEST(ListFunctionsTest, AppendEmpty)
40+
{
41+
List list("", "test list");
42+
list.append("Lorem");
43+
list.append("ipsum");
44+
45+
ValueData *v = list_append_empty(&list);
46+
value_init(v);
47+
value_assign_double(v, 5);
48+
ASSERT_EQ(list.toString(), "Lorem ipsum 5");
49+
50+
v = list_append_empty(&list);
51+
value_init(v);
52+
value_assign_string(v, "test");
53+
ASSERT_EQ(list.toString(), "Lorem ipsum 5 test");
54+
}

0 commit comments

Comments
 (0)