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,6 +5,13 @@ import (
|
|||||||
"strings"
|
"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 {
|
func RemoveAllExt(p string) string {
|
||||||
|
|
||||||
for ext := path.Ext(p); len(ext) > 0; ext = path.Ext(p) {
|
for ext := path.Ext(p); len(ext) > 0; ext = path.Ext(p) {
|
||||||
@ -13,4 +20,4 @@ func RemoveAllExt(p string) string {
|
|||||||
|
|
||||||
return p
|
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