mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 14:25:53 +01:00
125 lines
2.4 KiB
JSON
125 lines
2.4 KiB
JSON
{
|
|
"spec": {
|
|
"command": "flag",
|
|
"source": "@testbot",
|
|
"parameters": [
|
|
{
|
|
"key": "meow",
|
|
"schema": {
|
|
"schema_type": "primitive",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"key": "user",
|
|
"schema": {
|
|
"schema_type": "primitive",
|
|
"type": "user_id"
|
|
},
|
|
"optional": true
|
|
},
|
|
{
|
|
"key": "woof",
|
|
"schema": {
|
|
"schema_type": "primitive",
|
|
"type": "boolean"
|
|
},
|
|
"optional": true,
|
|
"fi.mau.default_value": false
|
|
}
|
|
],
|
|
"fi.mau.tail_parameter": "user"
|
|
},
|
|
"tests": [
|
|
{
|
|
"name": "no flags",
|
|
"input": "/flag mrrp",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": null
|
|
}
|
|
},
|
|
{
|
|
"name": "no flags, has tail",
|
|
"input": "/flag mrrp @user:example.com",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": "@user:example.com"
|
|
}
|
|
},
|
|
{
|
|
"name": "named flag at start",
|
|
"input": "/flag --woof=yes mrrp @user:example.com",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": "@user:example.com",
|
|
"woof": true
|
|
}
|
|
},
|
|
{
|
|
"name": "boolean flag without value",
|
|
"input": "/flag --woof mrrp @user:example.com",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": "@user:example.com",
|
|
"woof": true
|
|
}
|
|
},
|
|
{
|
|
"name": "user id flag without value",
|
|
"input": "/flag --user --woof mrrp",
|
|
"error": true,
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": null,
|
|
"woof": true
|
|
}
|
|
},
|
|
{
|
|
"name": "named flag in the middle",
|
|
"input": "/flag mrrp --woof=yes @user:example.com",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": "@user:example.com",
|
|
"woof": true
|
|
}
|
|
},
|
|
{
|
|
"name": "named flag in the middle with different value",
|
|
"input": "/flag mrrp --woof=no @user:example.com",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": "@user:example.com",
|
|
"woof": false
|
|
}
|
|
},
|
|
{
|
|
"name": "all variables named",
|
|
"input": "/flag --woof=no --meow=mrrp --user=@user:example.com",
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": "@user:example.com",
|
|
"woof": false
|
|
}
|
|
},
|
|
{
|
|
"name": "all variables named with quotes",
|
|
"input": "/flag --woof --meow=\"meow meow mrrp\" --user=\"@user:example.com\"",
|
|
"output": {
|
|
"meow": "meow meow mrrp",
|
|
"user": "@user:example.com",
|
|
"woof": true
|
|
}
|
|
},
|
|
{
|
|
"name": "invalid value for named parameter",
|
|
"input": "/flag --user=meowings mrrp --woof",
|
|
"error": true,
|
|
"output": {
|
|
"meow": "mrrp",
|
|
"user": null,
|
|
"woof": true
|
|
}
|
|
}
|
|
]
|
|
}
|