Skip to content

Commit

Permalink
Add config tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandrebodin committed Jul 10, 2018
1 parent d95d48e commit 2853734
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 4 deletions.
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ func Parse(reader io.ReadCloser) (Session, error) {
}

if err := checkValid(conf); err != nil {
return conf, err
return conf, fmt.Errorf("invalid configuration: %v", err)
}

return conf, nil
Expand Down
47 changes: 44 additions & 3 deletions config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,49 @@ func (r ReaderString) Close() error {
}

func TestParse(t *testing.T) {
reader := ReaderString{bytes.NewReader([]byte("lala"))}

_, err := config.Parse(reader)
assert.Error(t, err)
t.Run("Error invalid toml", func(t *testing.T) {
reader := ReaderString{bytes.NewReader([]byte("lala"))}
_, err := config.Parse(reader)
assert.Error(t, err)
})

t.Run("Invalid selected-window", func(t *testing.T) {
reader := ReaderString{bytes.NewReader([]byte("select-window=\"unknwon-window\""))}
_, err := config.Parse(reader)
assert.Error(t, err)
})

t.Run("Invalid selected-pane", func(t *testing.T) {
reader := ReaderString{bytes.NewReader([]byte(`
select-window="win"
select-pane=99
[[windows]]
name="win"
`))}

_, err := config.Parse(reader)
assert.Error(t, err)
})

t.Run("Invalid layout", func(t *testing.T) {
reader := ReaderString{bytes.NewReader([]byte(`
[[windows]]
layout="unknown"
`))}

_, err := config.Parse(reader)
assert.Error(t, err)
})

t.Run("Valid configuration", func(t *testing.T) {
reader := ReaderString{bytes.NewReader([]byte(`
name="valid session"
[[windows]]
layout="tiled"
`))}

_, err := config.Parse(reader)
assert.Nil(t, err)
})
}

0 comments on commit 2853734

Please sign in to comment.