summaryrefslogtreecommitdiff
path: root/asl/strings/string_builder_tests.cpp
blob: dadfc889e32355242a7f3d789c0fa09585d4d725 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2025 Steven Le Rouzic
//
// SPDX-License-Identifier: BSD-3-Clause

#include "asl/strings/string_builder.hpp"
#include "asl/testing/testing.hpp"

ASL_TEST(string_builder)
{
    asl::StringBuilder b;
    b.push('a');
    b.push("bcdef");
    b.push('g');

    ASL_TEST_EXPECT(b.as_string_view() == "abcdefg");

    asl::string s = b.as_string();
    ASL_TEST_EXPECT(s == "abcdefg");
}

ASL_TEST(string_builder_rvalue)
{
    asl::string s = asl::StringBuilder{}.push('a').push("bcdef").push('g').finish();

    ASL_TEST_EXPECT(s == "abcdefg");
}