mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 23:58:50 +00:00
Add tests for new safe to_cstring
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package test_core_strings
|
package test_core_strings
|
||||||
|
|
||||||
|
import "core:mem"
|
||||||
import "core:strings"
|
import "core:strings"
|
||||||
import "core:testing"
|
import "core:testing"
|
||||||
import "base:runtime"
|
import "base:runtime"
|
||||||
@@ -175,3 +176,45 @@ test_substring :: proc(t: ^testing.T) {
|
|||||||
testing.expectf(t, sub == tc.sub, "expected %v[%v:%v] to return sub: %v, got: %v", tc.s, tc.start, tc.end, tc.sub, sub)
|
testing.expectf(t, sub == tc.sub, "expected %v[%v:%v] to return sub: %v, got: %v", tc.s, tc.start, tc.end, tc.sub, sub)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test
|
||||||
|
test_builder_to_cstring_with_nil_allocator :: proc(t: ^testing.T) {
|
||||||
|
b := strings.builder_make_none(mem.nil_allocator())
|
||||||
|
|
||||||
|
cstr, err := strings.to_cstring(&b)
|
||||||
|
testing.expect_value(t, cstr, nil)
|
||||||
|
testing.expect_value(t, err, mem.Allocator_Error.Out_Of_Memory)
|
||||||
|
}
|
||||||
|
|
||||||
|
@test
|
||||||
|
test_builder_to_cstring :: proc(t: ^testing.T) {
|
||||||
|
buf: [8]byte
|
||||||
|
a: mem.Arena
|
||||||
|
mem.arena_init(&a, buf[:])
|
||||||
|
|
||||||
|
b := strings.builder_make_none(mem.arena_allocator(&a))
|
||||||
|
|
||||||
|
{
|
||||||
|
cstr, err := strings.to_cstring(&b)
|
||||||
|
testing.expectf(t, cstr != nil, "expected cstr to not be nil, got %v", cstr)
|
||||||
|
testing.expect_value(t, err, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
n := strings.write_byte(&b, 'a')
|
||||||
|
testing.expect(t, n == 1)
|
||||||
|
|
||||||
|
{
|
||||||
|
cstr, err := strings.to_cstring(&b)
|
||||||
|
testing.expectf(t, cstr != nil, "expected cstr to not be nil, got %v", cstr)
|
||||||
|
testing.expect_value(t, err, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
n = strings.write_string(&b, "aaaaaaa")
|
||||||
|
testing.expect(t, n == 7)
|
||||||
|
|
||||||
|
{
|
||||||
|
cstr, err := strings.to_cstring(&b)
|
||||||
|
testing.expect(t, cstr == nil)
|
||||||
|
testing.expect(t, err == .Out_Of_Memory)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user