~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_options.py

  • Committer: Martin Pool
  • Date: 2008-10-20 23:58:12 UTC
  • mto: This revision was merged to the branch mainline in revision 3787.
  • Revision ID: mbp@sourcefrog.net-20081020235812-itg90mk0u4dez92z
lp-upload-release now handles names like bzr-1.8.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import re
18
18
 
42
42
        # to cmd_commit, when they are meant to be about option parsing in
43
43
        # general.
44
44
        self.assertEqual(parse_args(cmd_commit(), ['--help']),
45
 
           ([], {'author': [], 'exclude': [], 'fixes': [], 'help': True}))
 
45
           ([], {'exclude': [], 'fixes': [], 'help': True}))
46
46
        self.assertEqual(parse_args(cmd_commit(), ['--message=biter']),
47
 
           ([], {'author': [], 'exclude': [], 'fixes': [], 'message': 'biter'}))
 
47
           ([], {'exclude': [], 'fixes': [], 'message': 'biter'}))
48
48
 
49
49
    def test_no_more_opts(self):
50
50
        """Terminated options"""
51
51
        self.assertEqual(parse_args(cmd_commit(), ['--', '-file-with-dashes']),
52
 
                          (['-file-with-dashes'], {'author': [], 'exclude': [], 'fixes': []}))
 
52
                          (['-file-with-dashes'], {'exclude': [], 'fixes': []}))
53
53
 
54
54
    def test_option_help(self):
55
55
        """Options have help strings."""
102
102
        self.assertRaises(errors.BzrCommandError, self.parse, options,
103
103
                          ['--no-number'])
104
104
 
105
 
    def test_is_hidden(self):
106
 
        self.assertTrue(option.Option('foo', hidden=True).is_hidden('foo'))
107
 
        self.assertFalse(option.Option('foo', hidden=False).is_hidden('foo'))
108
 
 
109
105
    def test_registry_conversion(self):
110
106
        registry = bzrdir.BzrDirFormatRegistry()
111
107
        registry.register_metadir('one', 'RepositoryFormat7', 'one help')
324
320
 
325
321
    def get_builtin_command_options(self):
326
322
        g = []
327
 
        for cmd_name in sorted(commands.all_command_names()):
328
 
            cmd = commands.get_cmd_object(cmd_name)
 
323
        for cmd_name, cmd_class in sorted(commands.get_all_cmds()):
 
324
            cmd = cmd_class()
329
325
            for opt_name, opt in sorted(cmd.options().items()):
330
326
                g.append((cmd_name, opt))
331
327
        return g
338
334
        g = dict(option.Option.OPTIONS.items())
339
335
        used_globals = {}
340
336
        msgs = []
341
 
        for cmd_name in sorted(commands.all_command_names()):
342
 
            cmd = commands.get_cmd_object(cmd_name)
343
 
            for option_or_name in sorted(cmd.takes_options):
 
337
        for cmd_name, cmd_class in sorted(commands.get_all_cmds()):
 
338
            for option_or_name in sorted(cmd_class.takes_options):
344
339
                if not isinstance(option_or_name, basestring):
345
340
                    self.assertIsInstance(option_or_name, option.Option)
346
341
                elif not option_or_name in g:
347
342
                    msgs.append("apparent reference to undefined "
348
343
                        "global option %r from %r"
349
 
                        % (option_or_name, cmd))
 
344
                        % (option_or_name, cmd_class))
350
345
                else:
351
346
                    used_globals.setdefault(option_or_name, []).append(cmd_name)
352
347
        unused_globals = set(g.keys()) - set(used_globals.keys())