From bd69ecca1aee53668608e9efe436edffd72c2b4a Mon Sep 17 00:00:00 2001 From: Turiiya Date: Fri, 26 Apr 2024 17:35:54 +0200 Subject: [PATCH] builtin: fix empty string lower / upper assert --- vlib/builtin/string.v | 4 ++-- vlib/builtin/string_test.v | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/vlib/builtin/string.v b/vlib/builtin/string.v index db47f992ff65b8..c2df03b41c1352 100644 --- a/vlib/builtin/string.v +++ b/vlib/builtin/string.v @@ -1524,7 +1524,7 @@ pub fn (s string) to_lower() string { // Example: assert 'hello developer'.is_lower() == true @[direct_array_access] pub fn (s string) is_lower() bool { - if s.len > 0 && s[0].is_digit() { + if s == '' || s[0].is_digit() { return false } for i in 0 .. s.len { @@ -1558,7 +1558,7 @@ pub fn (s string) to_upper() string { // Example: assert 'HELLO V'.is_upper() == true @[direct_array_access] pub fn (s string) is_upper() bool { - if s.len > 0 && s[0].is_digit() { + if s == '' || s[0].is_digit() { return false } for i in 0 .. s.len { diff --git a/vlib/builtin/string_test.v b/vlib/builtin/string_test.v index c0427e4c6f2ce6..df08729c43a422 100644 --- a/vlib/builtin/string_test.v +++ b/vlib/builtin/string_test.v @@ -1016,6 +1016,8 @@ fn test_lower() { s = '123' assert !s.is_lower() assert s.to_lower() == '123' + s = '' + assert !s.is_lower() } fn test_upper() { @@ -1039,6 +1041,8 @@ fn test_upper() { s = '123' assert !s.is_upper() assert s.to_upper() == '123' + s = '' + assert !s.is_upper() } fn test_capitalize() {