aboutsummaryrefslogtreecommitdiff
path: root/src/strings/strings_test.go
diff options
context:
space:
mode:
authorqiulaidongfeng <2645477756@qq.com>2026-04-09 22:04:07 +0800
committerGopher Robot <gobot@golang.org>2026-04-14 06:58:23 -0700
commit11b596c22dcabf91f9595da778b00e26f4d661a8 (patch)
treedb66e08f7c03de7facbeab017e68f8f38f255215 /src/strings/strings_test.go
parent33241d7298e0c621cfc4cc9f878dba9eff2b1c3d (diff)
downloadgo-11b596c22dcabf91f9595da778b00e26f4d661a8.tar.xz
bytes,strings: add CutLast
Fixes #71151 Change-Id: I3b3d49c35b0fa2c1220d3f39bbd506cc072b52b0 Reviewed-on: https://go-review.googlesource.com/c/go/+/764601 LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Sean Liao <sean@liao.dev> Reviewed-by: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com>
Diffstat (limited to 'src/strings/strings_test.go')
-rw-r--r--src/strings/strings_test.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/strings/strings_test.go b/src/strings/strings_test.go
index edfeb0e813..4ff3a2a825 100644
--- a/src/strings/strings_test.go
+++ b/src/strings/strings_test.go
@@ -1826,6 +1826,27 @@ func TestCut(t *testing.T) {
}
}
+func TestCutLast(t *testing.T) {
+ tests := []struct {
+ s, sep string
+ before, after string
+ found bool
+ }{
+ {"a/b/c", "/", "a/b", "c", true},
+ {"a//b//c", "//", "a//b", "c", true},
+ {"abc", "/", "abc", "", false},
+ {"abc", "", "abc", "", true},
+ {"", "", "", "", true},
+ {"/abc", "/", "", "abc", true},
+ {"abc/", "/", "abc", "", true},
+ }
+ for _, tt := range tests {
+ if before, after, found := CutLast(tt.s, tt.sep); before != tt.before || after != tt.after || found != tt.found {
+ t.Errorf("CutLast(%q, %q) = %q, %q, %v; want %q, %q, %v", tt.s, tt.sep, before, after, found, tt.before, tt.after, tt.found)
+ }
+ }
+}
+
var cutPrefixTests = []struct {
s, sep string
after string