def testShellAlias(self): """This actually just test that subprocess.call is called. """ alias = Alias.create_alias('count', '!pubs list -k | wc -l') alias.command(None, to_args([])) self.assertIsNone(self.cmd_execute.executed) self.assertIsNotNone(self.subprocess.called)
def testShellAliasEscapes(self): alias = Alias.create_alias('count', '!echo "$@"') args = ['a b c', "d,e f\""] alias.command(None, to_args(args)) self.assertIsNone(self.cmd_execute.executed) self.assertIsNotNone(self.subprocess.called) self.assertEqual( shlex.split(self.subprocess.called.splitlines()[-1])[1:], args)
def testShellAliasNamedArguments(self): parser = argparse.ArgumentParser() parser.add_argument('--test2') subparsers = parser.add_subparsers(title='commands', dest='command') alias = Alias.create_alias('test', '!echo "$@"') alias.parser(subparsers) args = ['test', '2', '--option', '3'] args = parser.parse_args(args) self.assertEqual(args.command, 'test') self.assertListEqual(args.arguments, ['2', '--option', '3'])
def testAlias(self): alias = Alias.create_alias('print', 'open -w lpppp') alias.command(None, to_args(['CiteKey'])) self.assertIsNone(self.subprocess.called) self.assertEqual(self.cmd_execute.executed, ['pubs', 'open', '-w', 'lpppp', 'CiteKey'])