Ejemplo n.º 1
0
def ParseLikeEcho(spec_name, cmd_val):
    # type: (str, cmd_value__Argv) -> Tuple[args._Attributes, args.Reader]
    arg_r = args.Reader(cmd_val.argv, spids=cmd_val.arg_spids)
    arg_r.Next()  # move past the builtin name

    spec = FLAG_SPEC[spec_name]
    return args.ParseLikeEcho(spec, arg_r), arg_r
Ejemplo n.º 2
0
    def testParseLikeEcho(self):
        s = flag_spec._FlagSpec()
        s.ShortFlag('-e')  # no backslash escapes
        s.ShortFlag('-n')

        arg_r = _MakeReader(['-e', '-n', 'foo'])
        arg = args.ParseLikeEcho(s, arg_r)
        self.assertEqual(True, arg.e)
        self.assertEqual(True, arg.n)
        self.assertEqual(3, arg_r.i)

        arg_r = _MakeReader(['-en', 'foo'])
        arg = args.ParseLikeEcho(s, arg_r)
        self.assertEqual(True, arg.e)
        self.assertEqual(True, arg.n)
        self.assertEqual(2, arg_r.i)

        arg_r = _MakeReader(['-ez', 'foo'])
        arg = args.ParseLikeEcho(s, arg_r)
        #self.assertEqual(False, arg.e)
        #self.assertEqual(False, arg.n)
        self.assertEqual(None, arg.e)
        self.assertEqual(None, arg.n)
        self.assertEqual(1, arg_r.i)