def test_drop_short_helper(self):
    parser = argparse.ArgumentParser(formatter_class=parseopt.DropShorterLongHelpFormatter)
    parser.add_argument('-t', '--twoword', '--duo', '--two-word', '--two', help='foo').map_long_option = {'two': 'two-word'}
    parser.add_argument('-d', '--deuxmots', '--deux-mots', action='store_true', help='foo').map_long_option = {'deux': 'deux-mots'}
    parser.add_argument('-s', action='store_true', help='single short')
    parser.add_argument('--abc', '-a', action='store_true', help='bar')
    parser.add_argument('--klm', '-k', '--kl-m', action='store_true', help='bar')
    parser.add_argument('-P', '--pq-r', '-p', '--pqr', action='store_true', help='bar')
    parser.add_argument('--zwei-wort', '--zweiwort', '--zweiwort', action='store_true', help='bar')
    parser.add_argument('-x', '--exit-on-first', '--exitfirst', action='store_true', help='spam').map_long_option = {'exitfirst': 'exit-on-first'}
    parser.add_argument('files_and_dirs', nargs='*')
    args = parser.parse_args(['-k', '--duo', 'hallo', '--exitfirst'])
    assert (args.twoword == 'hallo')
    assert (args.klm is True)
    assert (args.zwei_wort is False)
    assert (args.exit_on_first is True)
    assert (args.s is False)
    args = parser.parse_args(['--deux-mots'])
    with pytest.raises(AttributeError):
        assert (args.deux_mots is True)
    assert (args.deuxmots is True)
    args = parser.parse_args(['file', 'dir'])
    assert ('|'.join(args.files_and_dirs) == 'file|dir')
def test_drop_short_helper(self):
    parser = argparse.ArgumentParser(formatter_class=parseopt.DropShorterLongHelpFormatter)
    parser.add_argument('-t', '--twoword', '--duo', '--two-word', '--two', help='foo').map_long_option = {'two': 'two-word'}
    parser.add_argument('-d', '--deuxmots', '--deux-mots', action='store_true', help='foo').map_long_option = {'deux': 'deux-mots'}
    parser.add_argument('-s', action='store_true', help='single short')
    parser.add_argument('--abc', '-a', action='store_true', help='bar')
    parser.add_argument('--klm', '-k', '--kl-m', action='store_true', help='bar')
    parser.add_argument('-P', '--pq-r', '-p', '--pqr', action='store_true', help='bar')
    parser.add_argument('--zwei-wort', '--zweiwort', '--zweiwort', action='store_true', help='bar')
    parser.add_argument('-x', '--exit-on-first', '--exitfirst', action='store_true', help='spam').map_long_option = {'exitfirst': 'exit-on-first'}
    parser.add_argument('files_and_dirs', nargs='*')
    args = parser.parse_args(['-k', '--duo', 'hallo', '--exitfirst'])
    assert (args.twoword == 'hallo')
    assert (args.klm is True)
    assert (args.zwei_wort is False)
    assert (args.exit_on_first is True)
    assert (args.s is False)
    args = parser.parse_args(['--deux-mots'])
    with pytest.raises(AttributeError):
        assert (args.deux_mots is True)
    assert (args.deuxmots is True)
    args = parser.parse_args(['file', 'dir'])
    assert ('|'.join(args.files_and_dirs) == 'file|dir')