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
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)