aboutsummaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py
diff options
context:
space:
mode:
authorPavel Aharoni <pa0916@att.com>2017-03-29 13:35:45 +0300
committerPavel Aharoni <pa0916@att.com>2017-03-29 13:35:45 +0300
commite2cc2530fc6d54ebc975c01a4ff887ce12f0a736 (patch)
tree38385867295c8a09fb0d7f8eaf5fa78179e5b13a /jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py
parentbccebaa9888906f8ff78172f62ec592956066d82 (diff)
[SDC-6] sdc-distribution-client 1707 rebasing
Change-Id: I322a05fd79beb6ba4fee4d32afffecf531b86e98 Signed-off-by: Pavel Aharoni <pa0916@att.com>
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py')
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py
new file mode 100644
index 0000000..23c46c4
--- /dev/null
+++ b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/tests/test_utils.py
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import os
+import struct
+import sys
+
+import mock
+import nose
+
+from cliff import utils
+
+
+def test_utils_terminal_width():
+ width = utils.terminal_width(sys.stdout)
+ # Results are specific to the execution environment, so only assert
+ # that no error is raised.
+ assert width is None or isinstance(width, int)
+
+
+@mock.patch('cliff.utils.os')
+def test_utils_terminal_width_get_terminal_size(mock_os):
+ if not hasattr(os, 'get_terminal_size'):
+ raise nose.SkipTest('only needed for python 3.3 onwards')
+ ts = os.terminal_size((10, 5))
+ mock_os.get_terminal_size.return_value = ts
+ width = utils.terminal_width(sys.stdout)
+ assert width == 10
+
+ mock_os.get_terminal_size.side_effect = OSError()
+ width = utils.terminal_width(sys.stdout)
+ assert width is None
+
+
+@mock.patch('fcntl.ioctl')
+def test_utils_terminal_width_ioctl(mock_ioctl):
+ if hasattr(os, 'get_terminal_size'):
+ raise nose.SkipTest('only needed for python 3.2 and before')
+ mock_ioctl.return_value = struct.pack('hhhh', 57, 101, 0, 0)
+ width = utils.terminal_width(sys.stdout)
+ assert width == 101
+
+ mock_ioctl.side_effect = IOError()
+ width = utils.terminal_width(sys.stdout)
+ assert width is None
+
+
+@mock.patch('cliff.utils.ctypes')
+@mock.patch('sys.platform', 'win32')
+def test_utils_terminal_width_windows(mock_ctypes):
+ if hasattr(os, 'get_terminal_size'):
+ raise nose.SkipTest('only needed for python 3.2 and before')
+
+ mock_ctypes.create_string_buffer.return_value.raw = struct.pack(
+ 'hhhhHhhhhhh', 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
+ mock_ctypes.windll.kernel32.GetStdHandle.return_value = -11
+ mock_ctypes.windll.kernel32.GetConsoleScreenBufferInfo.return_value = 1
+
+ width = utils.terminal_width(sys.stdout)
+ assert width == 101
+
+ mock_ctypes.windll.kernel32.GetConsoleScreenBufferInfo.return_value = 0
+
+ width = utils.terminal_width(sys.stdout)
+ assert width is None
+
+ width = utils.terminal_width('foo')
+ assert width is None