From 88eb22949cd4f5777ed8e1210e85316753077bf0 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Wed, 5 Aug 2020 10:58:34 +0100 Subject: [PATCH] Fix file/folder name when starting with . (but not hidden) Fixes #1235 --- CHANGELOG.md | 2 ++ dialog/fileitem.go | 2 +- dialog/fileitem_test.go | 28 ++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dcf7db9146..4fa2c70498 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,8 @@ More detailed release notes can be found on the [releases page](https://github.c * Update the extended progressbar on refresh (#1219) * Segfault if font fails (#1200) * Slider rendering incorrectly when window maximized (#1223) +* Changing form label not refreshed (#1231) +* Files and folders starting "." show no name (#1235) ## 1.3.2 - 11 July 2020 diff --git a/dialog/fileitem.go b/dialog/fileitem.go index 63eb720d19..47ba636d14 100644 --- a/dialog/fileitem.go +++ b/dialog/fileitem.go @@ -46,7 +46,7 @@ func (i *fileDialogItem) CreateRenderer() fyne.WidgetRenderer { func fileName(path string) (name string) { name = filepath.Base(path) - ext := filepath.Ext(path) + ext := filepath.Ext(name[1:]) name = name[:len(name)-len(ext)] return diff --git a/dialog/fileitem_test.go b/dialog/fileitem_test.go index 66a4437af4..e9784d3f3f 100644 --- a/dialog/fileitem_test.go +++ b/dialog/fileitem_test.go @@ -11,6 +11,34 @@ import ( "github.com/stretchr/testify/assert" ) +func TestFileItem_Name(t *testing.T) { + f := &fileDialog{file: &FileDialog{}} + _ = f.makeUI() + + item := f.newFileItem("/path/to/filename.txt", false) + assert.Equal(t, "filename", item.name) + + item = f.newFileItem("/path/to/MyFile.jpeg", false) + assert.Equal(t, "MyFile", item.name) + + item = f.newFileItem("/path/to/.maybeHidden.txt", false) + assert.Equal(t, ".maybeHidden", item.name) +} + +func TestFileItem_FolderName(t *testing.T) { + f := &fileDialog{file: &FileDialog{}} + _ = f.makeUI() + + item := f.newFileItem("/path/to/foldername/", true) + assert.Equal(t, "foldername", item.name) + + item = f.newFileItem("/path/to/myapp.app/", true) + assert.Equal(t, "myapp", item.name) + + item = f.newFileItem("/path/to/.maybeHidden/", true) + assert.Equal(t, ".maybeHidden", item.name) +} + func TestNewFileItem(t *testing.T) { f := &fileDialog{file: &FileDialog{}} _ = f.makeUI()