... ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK [] aa bb {'section': None, 'topics': [('aa', True), ('bb', True)], 'impl': True} 2 topics aa bb cc {'section': None, 'topics': [('aa', True), ('bb', True), ('cc', True)], 'impl': True} 3 topics a1 b4 c7 {'section': None, 'topics': [('a1', True), ('b4', True), ('c7', True)], 'impl': True} 3 topics a1 b4 c7 {'section': None, 'topics': [('a1', True), ('b4', True)], 'impl': True} 2 topics [Overview] hello there X not-impl {'section': 'Overview', 'topics': [('hello', True), ('there', True), ('not-impl', False)], 'impl': True} 3 topics int-literal 42 65_536 0xFF 0o755 0b10 {'section': None, 'topics': [('int-literal', True)], 'impl': True} 1 topics expr-splice echo @[split(x)] {'section': None, 'topics': [('expr-splice', True), ('echo', True)], 'impl': True} 2 topics u'line\n' b'byte \yff' {'section': None, 'topics': [], 'impl': True} 0 topics fork forkwait Replace & and (), and takes a block {'section': None, 'topics': [('fork', True), ('forkwait', True), ('Replace', True), ('and', True), ('and', True), ('takes', True)], 'impl': True} 6 topics [Primitive] Bool Int Float Str Slice Range {'section': 'Primitive', 'topics': [('Bool', True), ('Int', True), ('Float', True), ('Str', True), ('Slice', True), ('Range', True)], 'impl': True} 6 topics [Process State] X BASHPID X PPID UID EUID {'section': 'Process State', 'topics': [('BASHPID', False), ('PPID', False), ('UID', True), ('EUID', True)], 'impl': True} 4 topics [Lexing] comment # line-continuation \ {'section': 'Lexing', 'topics': [('comment', True), ('line-continuation', True)], 'impl': True} 2 topics 'hello ' (None, 'hello', None, ' ') 'X hello ' ('X ', 'hello', None, ' ') 'X hello \n' ('X ', 'hello', None, ' \n') 'X hello\n' ('X ', 'hello', None, '\n') 'X hello << \n' ('X ', 'hello', ' <<', ' \n') 'hello\n' (None, 'hello', None, '\n') 'X hello\n' ('X ', 'hello', None, '\n')