Mono repo -> Master (#22553)
Combines the following repositories into one: https://github.com/mattermost/mattermost-server https://github.com/mattermost/mattermost-webapp https://github.com/mattermost/focalboard https://github.com/mattermost/mattermost-plugin-playbooks
Этот коммит содержится в:
40
server/channels/app/slashcommands/util_test.go
Обычный файл
40
server/channels/app/slashcommands/util_test.go
Обычный файл
@@ -0,0 +1,40 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package slashcommands
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestParseNamedArgs(t *testing.T) {
|
||||
data := []struct {
|
||||
name string
|
||||
s string
|
||||
m map[string]string
|
||||
}{
|
||||
{"empty", "", map[string]string{}},
|
||||
{"gibberish", "ifu3ue-h29f8", map[string]string{}},
|
||||
{"action only", "remote status", map[string]string{ActionKey: "status"}},
|
||||
{"no action", "remote --arg1 val1 --arg2 val2", map[string]string{"arg1": "val1", "arg2": "val2"}},
|
||||
{"command only", "remote", map[string]string{}},
|
||||
{"trailing empty arg", "remote add --arg1 val1 --arg2", map[string]string{ActionKey: "add", "arg1": "val1", "arg2": ""}},
|
||||
{"leading empty arg", "remote add --arg1 --arg2 val2", map[string]string{ActionKey: "add", "arg1": "", "arg2": "val2"}},
|
||||
{"weird", "-- -- -- --", map[string]string{}},
|
||||
{"hyphen before action", "remote -- add", map[string]string{}},
|
||||
{"trailing hyphen", "remote add -- ", map[string]string{ActionKey: "add"}},
|
||||
{"hyphen in val", "remote add --arg1 val-1 ", map[string]string{ActionKey: "add", "arg1": "val-1"}},
|
||||
{"quote prefix and suffix", "remote add --arg1 \"val-1\"", map[string]string{ActionKey: "add", "arg1": "val-1"}},
|
||||
{"quote embedded", "remote add --arg1 O'Brien", map[string]string{ActionKey: "add", "arg1": "O'Brien"}},
|
||||
{"quote prefix, suffix, and embedded", "remote add --arg1 \"O'Brien\"", map[string]string{ActionKey: "add", "arg1": "O'Brien"}},
|
||||
{"empty quotes", "remote add --arg1 \"\"", map[string]string{ActionKey: "add", "arg1": ""}},
|
||||
}
|
||||
|
||||
for _, tt := range data {
|
||||
m := parseNamedArgs(tt.s)
|
||||
assert.NotNil(t, m)
|
||||
assert.Equal(t, tt.m, m, tt.name)
|
||||
}
|
||||
}
|
||||
Ссылка в новой задаче
Block a user