mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
Adds doc and unit tests
Former-commit-id: 6f60f97947111b4fc65cc0e72d18770ba6094088
This commit is contained in:
@ -5,12 +5,19 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
// RemoveAllExt removes all file extensions from the given path.
|
||||
//
|
||||
// Parameters:
|
||||
// - p: the path to remove file extensions from (string).
|
||||
//
|
||||
// Returns:
|
||||
// - The path without any file extensions (string).
|
||||
func RemoveAllExt(p string) string {
|
||||
|
||||
|
||||
for ext := path.Ext(p); len(ext) > 0; ext = path.Ext(p) {
|
||||
p = strings.TrimSuffix(p, ext)
|
||||
p = strings.TrimSuffix(p, ext)
|
||||
}
|
||||
|
||||
|
||||
return p
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
49
pkg/obiutils/path_test.go
Normal file
49
pkg/obiutils/path_test.go
Normal file
@ -0,0 +1,49 @@
|
||||
package obiutils
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
// TestRemoveAllExt is a test function for the RemoveAllExt function.
|
||||
//
|
||||
// It tests the RemoveAllExt function by providing different test cases
|
||||
// with different file paths and expected results. It ensures that the
|
||||
// RemoveAllExt function correctly removes all file extensions and returns
|
||||
// the file path without any extensions.
|
||||
//
|
||||
// Parameter(s):
|
||||
// - t: A testing.T value representing the test framework.
|
||||
//
|
||||
// Return type(s): None.
|
||||
func TestRemoveAllExt(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
path string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
name: "No extensions",
|
||||
path: "path/to/file",
|
||||
expected: "path/to/file",
|
||||
},
|
||||
{
|
||||
name: "Single extension",
|
||||
path: "path/to/file.txt",
|
||||
expected: "path/to/file",
|
||||
},
|
||||
{
|
||||
name: "Multiple extensions",
|
||||
path: "path/to/file.tar.gz",
|
||||
expected: "path/to/file",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
result := RemoveAllExt(tt.path)
|
||||
if result != tt.expected {
|
||||
t.Errorf("Expected %q, but got %q", tt.expected, result)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user