aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/python/test/test_zshcomp.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/python/test/test_zshcomp.py')
-rwxr-xr-xlib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/python/test/test_zshcomp.py228
1 files changed, 0 insertions, 228 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/python/test/test_zshcomp.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/python/test/test_zshcomp.py
deleted file mode 100755
index 13865b21..00000000
--- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/python/test/test_zshcomp.py
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright (c) Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-"""
-Test cases for twisted.python.zshcomp
-"""
-import os
-import os.path
-from cStringIO import StringIO
-
-from twisted.trial import unittest
-from twisted.python import zshcomp, usage
-
-
-
-class ZshcompTestCase(unittest.TestCase):
- """
- Tests for the zsh completion function builder in twisted/python/zshcomp.py
- """
- def test_buildAll(self):
- """
- Build all the completion functions for twisted commands - no errors
- should be raised
- """
- dirname = self.mktemp()
- os.mkdir(dirname)
- skippedCmds = [x[0] for x in zshcomp.makeCompFunctionFiles(dirname)]
-
- # verify a zsh function was created for each twisted command
- for info in zshcomp.generateFor:
- if info[0] in skippedCmds:
- continue
- funcPath = os.path.join(dirname, '_' + info[0])
- self.assertTrue(os.path.exists(funcPath))
-
-
- def test_accumulateMetadata(self):
- """
- The zsh_* variables you can place on Options classes are
- picked up correctly?
- """
- opts = FighterAceExtendedOptions()
- ag = zshcomp.ArgumentsGenerator('dummy_cmd', opts, 'dummy_value')
-
- altArgDescr = FighterAceOptions.zsh_altArgDescr.copy()
- altArgDescr.update(FighterAceExtendedOptions.zsh_altArgDescr)
-
- actionDescr = FighterAceOptions.zsh_actionDescr.copy()
- actionDescr.update(FighterAceExtendedOptions.zsh_actionDescr)
-
- self.assertEqual(ag.altArgDescr, altArgDescr)
- self.assertEqual(ag.actionDescr, actionDescr)
- self.assertEqual(ag.multiUse, FighterAceOptions.zsh_multiUse)
- self.assertEqual(ag.mutuallyExclusive,
- FighterAceOptions.zsh_mutuallyExclusive)
- self.assertEqual(ag.actions, FighterAceOptions.zsh_actions)
- self.assertEqual(ag.extras, FighterAceOptions.zsh_extras)
-
-
- def test_accumulateAdditionalOptions(self):
- """
- We pick up options that are only defined by having an
- appropriately named method on your Options class,
- e.g. def opt_foo(self, foo)
- """
- opts = FighterAceExtendedOptions()
- ag = zshcomp.ArgumentsGenerator('dummy_cmd', opts, 'dummy_value')
-
- self.assertIn('nocrash', ag.optFlags_d)
- self.assertIn('nocrash', ag.optAll_d)
-
- self.assertIn('difficulty', ag.optParams_d)
- self.assertIn('difficulty', ag.optAll_d)
-
-
- def test_verifyZshNames(self):
- """
- Using a parameter/flag name that doesn't exist
- will raise an error
- """
- class TmpOptions(FighterAceExtendedOptions):
- zsh_actions = {'detaill' : 'foo'} # Note typo of detail
-
- opts = TmpOptions()
- self.assertRaises(ValueError, zshcomp.ArgumentsGenerator,
- 'dummy_cmd', opts, 'dummy_value')
-
-
- def test_zshCode(self):
- """
- Generate a completion function, and test the textual output
- against a known correct output
- """
- cmd_name = 'testprog'
- opts = SillyOptions()
- f = StringIO()
- b = zshcomp.Builder(cmd_name, opts, f)
- b.write()
- f.reset()
- self.assertEqual(f.read(), testOutput1)
-
-
- def test_skipBuild(self):
- """
- makeCompFunctionFiles skips building for commands whos
- script module cannot be imported
- """
- generateFor = [('test_cmd', 'no.way.your.gonna.import.this', 'Foo')]
- skips = zshcomp.makeCompFunctionFiles('out_dir', generateFor, {})
- # no exceptions should be raised. hooray.
- self.assertEqual(len(skips), 1)
- self.assertEqual(len(skips[0]), 2)
- self.assertEqual(skips[0][0], 'test_cmd')
- self.assertTrue(isinstance(skips[0][1], ImportError))
-
-
-
-class FighterAceOptions(usage.Options):
- """
- Command-line options for an imaginary "Fighter Ace" game
- """
- optFlags = [['fokker', 'f',
- 'Select the Fokker Dr.I as your dogfighter aircraft'],
- ['albatros', 'a',
- 'Select the Albatros D-III as your dogfighter aircraft'],
- ['spad', 's',
- 'Select the SPAD S.VII as your dogfighter aircraft'],
- ['bristol', 'b',
- 'Select the Bristol Scout as your dogfighter aircraft'],
- ['physics', 'p',
- 'Enable secret Twisted physics engine'],
- ['jam', 'j',
- 'Enable a small chance that your machine guns will jam!'],
- ['verbose', 'v',
- 'Verbose logging (may be specified more than once)'],
- ]
-
- optParameters = [['pilot-name', None, "What's your name, Ace?",
- 'Manfred von Richthofen'],
- ['detail', 'd',
- 'Select the level of rendering detail (1-5)', '3'],
- ]
-
- zsh_altArgDescr = {'physics' : 'Twisted-Physics',
- 'detail' : 'Rendering detail level'}
- zsh_actionDescr = {'detail' : 'Pick your detail'}
- zsh_multiUse = ['verbose']
- zsh_mutuallyExclusive = [['fokker', 'albatros', 'spad', 'bristol']]
- zsh_actions = {'detail' : '(1 2 3 4 5)'}
- zsh_extras = [':saved game file to load:_files']
-
-
-
-class FighterAceExtendedOptions(FighterAceOptions):
- """
- Extend the options and zsh metadata provided by FighterAceOptions. zshcomp
- must accumulate options and metadata from all classes in the hiearchy so
- this is important for testing
- """
- optFlags = [['no-stalls', None,
- 'Turn off the ability to stall your aircraft']]
- optParameters = [['reality-level', None,
- 'Select the level of physics reality (1-5)', '5']]
-
- zsh_altArgDescr = {'no-stalls' : 'Can\'t stall your plane'}
- zsh_actionDescr = {'reality-level' : 'Physics reality level'}
-
-
- def opt_nocrash(self):
- """Select that you can't crash your plane"""
-
-
- def opt_difficulty(self, difficulty):
- """How tough are you? (1-10)"""
-
-
-
-def _accuracyAction():
- return '(1 2 3)'
-
-
-
-class SillyOptions(usage.Options):
- """
- Command-line options for a "silly" program
- """
- optFlags = [['color', 'c', 'Turn on color output'],
- ['gray', 'g', 'Turn on gray-scale output'],
- ['verbose', 'v',
- 'Verbose logging (may be specified more than once)'],
- ]
-
- optParameters = [['optimization', None,
- 'Select the level of optimization (1-5)', '5'],
- ['accuracy', 'a',
- 'Select the level of accuracy (1-3)', '3'],
- ]
-
-
- zsh_altArgDescr = {'color' : 'Color on',
- 'optimization' : 'Optimization level'}
- zsh_actionDescr = {'optimization' : 'Optimization?',
- 'accuracy' : 'Accuracy?'}
- zsh_multiUse = ['verbose']
- zsh_mutuallyExclusive = [['color', 'gray']]
- zsh_actions = {'optimization' : '(1 2 3 4 5)',
- 'accuracy' : _accuracyAction}
- zsh_extras = [':output file:_files']
-
-
-
-testOutput1 = """#compdef testprog
-_arguments -s -A "-*" \\
-':output file:_files' \\
-'(--accuracy)-a[3]:Accuracy?:(1 2 3)' \\
-'(-a)--accuracy=[3]:Accuracy?:(1 2 3)' \\
-'(--gray -g --color)-c[Color on]' \\
-'(--gray -g -c)--color[Color on]' \\
-'(--color -c --gray)-g[Turn on gray-scale output]' \\
-'(--color -c -g)--gray[Turn on gray-scale output]' \\
-'--help[Display this help and exit.]' \\
-'--optimization=[Optimization level]:Optimization?:(1 2 3 4 5)' \\
-'*-v[Verbose logging (may be specified more than once)]' \\
-'*--verbose[Verbose logging (may be specified more than once)]' \\
-'--version[Display Twisted version and exit.]' \\
-&& return 0
-"""
-