the base
This commit is contained in:
56
lib/core/playbook/parser_test.v
Normal file
56
lib/core/playbook/parser_test.v
Normal file
@@ -0,0 +1,56 @@
|
||||
module playbook
|
||||
|
||||
const text1 = "
|
||||
//comment for the action
|
||||
!!payment.add person:fatayera
|
||||
//comment for name
|
||||
name: 'TF Wallet'
|
||||
blockchain: 'stellar' //holochain maybe?
|
||||
account: 'something'
|
||||
description: 'TF Wallet for TFT'
|
||||
preferred: false
|
||||
"
|
||||
|
||||
fn test_parse_1() {
|
||||
mut a := new(text: text1) or { panic(err) }
|
||||
|
||||
assert a.actions.len == 1
|
||||
mut s := a.actions_sorted()!
|
||||
assert s.len == 1
|
||||
// mut sorted := a.actions_sorted(prio_only: true)!
|
||||
// assert sorted.len == 0
|
||||
|
||||
mut myaction := s[0] or { panic('bug') }
|
||||
|
||||
assert myaction.comments == 'comment for the action'
|
||||
assert myaction.params.params.len == 6
|
||||
assert myaction.id == 1
|
||||
|
||||
assert a.hashkey() == '95c585c8bf01b4c432cb7096dc7c974fc1a14b5a'
|
||||
c := a.heroscript()!
|
||||
b := new(text: c) or { panic(err) }
|
||||
|
||||
assert b.hashkey() == '95c585c8bf01b4c432cb7096dc7c974fc1a14b5a'
|
||||
}
|
||||
|
||||
fn test_parser() {
|
||||
mut pb := new(text: text1) or { panic(err) }
|
||||
mut a := pb.actions[0]
|
||||
assert a.actor == 'payment'
|
||||
assert a.name == 'add'
|
||||
assert a.params.get('name')! == 'TF Wallet'
|
||||
assert a.params.get('blockchain')! == 'stellar'
|
||||
assert a.params.get('account')! == 'something'
|
||||
assert a.params.get('description')! == 'TF Wallet for TFT'
|
||||
assert a.params.get_default_false('preferred') == false
|
||||
}
|
||||
|
||||
fn test_parser2() {
|
||||
mut pb := new(
|
||||
text: "!!play.run url:'https://git.ourworld.tf/despiegk/cfg/src/branch/main/myit/hetzner.md'"
|
||||
) or { panic(err) }
|
||||
mut a := pb.actions[0]
|
||||
assert a.actor == 'play'
|
||||
assert a.name == 'run'
|
||||
assert a.params.get('url')! == 'https://git.ourworld.tf/despiegk/cfg/src/branch/main/myit/hetzner.md'
|
||||
}
|
||||
Reference in New Issue
Block a user