Exemplo n.º 1
0
def DEFINE_enum(name,
                default,
                enum_values,
                help=None,
                flag_values=_flagvalues.FLAGS,
                module_name=None,
                **args):
    """Registers a flag whose value can be any string from enum_values.

    Instead of a string enum, prefer `DEFINE_enum_class`, which allows
    defining enums from an `enum.Enum` class.

    Args:
      name: str, the flag name.
      default: str|None, the default value of the flag.
      enum_values: [str], a non-empty list of strings with the possible values for
          the flag.
      help: str, the help message.
      flag_values: FlagValues, the FlagValues instance with which the flag will
          be registered. This should almost never need to be overridden.
      module_name: str, the name of the Python module declaring this flag.
          If not provided, it will be computed using the stack trace of this call.
      **args: dict, the extra keyword args that are passed to Flag __init__.
    """
    DEFINE_flag(_flag.EnumFlag(name, default, help, enum_values, **args),
                flag_values, module_name)
Exemplo n.º 2
0
 def test_empty_values(self):
   with self.assertRaises(ValueError):
     _flag.EnumFlag('fruit', None, 'help', [])
Exemplo n.º 3
0
 def test_help_text(self, helptext_input, helptext_output):
   f = _flag.EnumFlag('fruit', 'apple', helptext_input, ['apple', 'orange'])
   self.assertEqual(helptext_output, f.help)