# Block hooks should be called as expected. _set start_block="start" end_block="end" command --- Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 3 } end command --- start Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 8 } end # Newlines in block hooks should be handled appropriately. _set start_block="start\n" end_block="end\n" command --- start Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 16 } end command --- start Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 22 } end # As should empty lines. _set start_block="start\n\n" end_block="end\n\n" command --- > start > Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 30 } > end > _set end_block="end" command --- > start > > Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 38 } > end _set start_block="" end_block="" --- > start > # Command hooks should be called before/after each command. It should be affected # by command prefixes and silencing. (_set start_command="start" end_command="end") command prefix: command (command) --- start Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 53 } end prefix: start prefix: Command { name: "command", args: [], prefix: Some("prefix"), tags: {}, silent: false, fail: false, line_number: 54 } prefix: end # They should also be called after commands that were expected to fail. ! _panic foo --- start Panic: foo end # Newlines should be handled properly. (_set start_command="start\n" end_command="end\n") command --- start Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 73 } end (_set start_command="start\n\n" end_command="end\n\n") command --- > start > > Command { name: "command", args: [], prefix: None, tags: {}, silent: false, fail: false, line_number: 80 } > end >