mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2024-11-10 04:54:03 -08:00
fix(firebase): sub path validation
This commit is contained in:
parent
abe8c80451
commit
a47070b9d8
|
@ -4,6 +4,7 @@ import (
|
|||
"encoding/json"
|
||||
"errors"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
@ -53,7 +54,7 @@ func (f *Firebase) Enabled() bool {
|
|||
// Test if the current directory is a project path
|
||||
// and if it is, return the project name
|
||||
for key, value := range data.ActiveProject {
|
||||
if key == f.env.Pwd() {
|
||||
if strings.HasPrefix(f.env.Pwd(), key) {
|
||||
f.Project = value
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -10,21 +10,30 @@ import (
|
|||
)
|
||||
|
||||
func TestFirebaseSegment(t *testing.T) {
|
||||
config := `{
|
||||
"activeProjects": {
|
||||
"path": "project-name"
|
||||
}
|
||||
}`
|
||||
cases := []struct {
|
||||
Case string
|
||||
CfgData string
|
||||
ActiveConfig string
|
||||
ActivePath string
|
||||
ExpectedEnabled bool
|
||||
ExpectedString string
|
||||
}{
|
||||
{
|
||||
Case: "happy path",
|
||||
ExpectedEnabled: true,
|
||||
ActiveConfig: `{
|
||||
"activeProjects": {
|
||||
"path": "project-name"
|
||||
}
|
||||
}`,
|
||||
ActiveConfig: config,
|
||||
ActivePath: "path",
|
||||
ExpectedString: "project-name",
|
||||
},
|
||||
{
|
||||
Case: "happy subpath",
|
||||
ExpectedEnabled: true,
|
||||
ActiveConfig: config,
|
||||
ActivePath: "path/subpath",
|
||||
ExpectedString: "project-name",
|
||||
},
|
||||
{
|
||||
|
@ -46,7 +55,7 @@ func TestFirebaseSegment(t *testing.T) {
|
|||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("Home").Return("home")
|
||||
env.On("Pwd").Return("path")
|
||||
env.On("Pwd").Return(tc.ActivePath)
|
||||
fcPath := filepath.Join("home", ".config", "configstore", "firebase-tools.json")
|
||||
env.On("FileContent", fcPath).Return(tc.ActiveConfig)
|
||||
env.On("Error", mock2.Anything).Return()
|
||||
|
|
Loading…
Reference in a new issue