1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package optionsparser
- import (
- "testing"
- "github.com/stretchr/testify/suite"
- )
- type PresetsTestSuite struct {
- suite.Suite
- }
- func (s *PresetsTestSuite) newParser(presets ...string) (*Parser, error) {
- c := NewDefaultConfig()
- c.Presets = presets
- return New(&c)
- }
- func (s *PresetsTestSuite) TestParsePreset() {
- f, err := s.newParser("test=resize:fit:100:200/sharpen:2")
- s.Require().NoError(err)
- s.Require().Equal(urlOptions{
- urlOption{Name: "resize", Args: []string{"fit", "100", "200"}},
- urlOption{Name: "sharpen", Args: []string{"2"}},
- }, f.presets["test"])
- }
- func (s *PresetsTestSuite) TestParsePresetInvalidString() {
- presetStr := "resize:fit:100:200/sharpen:2"
- _, err := s.newParser(presetStr)
- s.Require().Error(err, "invalid preset string: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetEmptyName() {
- presetStr := "=resize:fit:100:200/sharpen:2"
- _, err := s.newParser(presetStr)
- s.Require().Error(err, "empty preset name: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetEmptyValue() {
- presetStr := "test="
- _, err := s.newParser(presetStr)
- s.Require().Error(err, "empty preset value: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetInvalidValue() {
- presetStr := "test=resize:fit:100:200/sharpen:2/blur"
- _, err := s.newParser(presetStr)
- s.Require().Error(err, "invalid preset value: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetEmptyString() {
- f, err := s.newParser(" ")
- s.Require().NoError(err)
- s.Require().Empty(f.presets)
- }
- func (s *PresetsTestSuite) TestParsePresetComment() {
- f, err := s.newParser("# test=resize:fit:100:200/sharpen:2")
- s.Require().NoError(err)
- s.Require().Empty(f.presets)
- }
- func (s *PresetsTestSuite) TestValidatePresets() {
- f, err := s.newParser("test=resize:fit:100:200/sharpen:2")
- s.Require().NoError(err)
- s.Require().NotEmpty(f.presets)
- }
- func (s *PresetsTestSuite) TestValidatePresetsInvalid() {
- _, err := s.newParser("test=resize:fit:-1:-2/sharpen:2")
- s.Require().Error(err)
- }
- func TestPresets(t *testing.T) {
- suite.Run(t, new(PresetsTestSuite))
- }
|