From 8999c361a2c78e8691d80d246c3c5bbb7e5ce584 Mon Sep 17 00:00:00 2001 From: gryf Date: Sat, 24 Dec 2016 10:28:13 +0100 Subject: [PATCH] Added conditional for gui tests, which depends on graphical environment --- tests/test_message.py | 52 +++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/tests/test_message.py b/tests/test_message.py index ea6c910..3a7bf7f 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -1,10 +1,5 @@ from unittest import TestCase -try: - import tkinter as tk - from tkinter import ttk -except ImportError: - import Tkinter as tk - import ttk +import os try: from unittest import mock @@ -13,6 +8,14 @@ except ImportError: from fs_uae_wrapper import message +if os.environ.get('DISPLAY'): + try: + import tkinter as tk + from tkinter import ttk + except ImportError: + import Tkinter as tk + import ttk + class TestMessage(TestCase): @@ -44,25 +47,26 @@ class TestMessage(TestCase): msg._process.join.assert_called_once() -class TestSpawn(TestCase): +if os.environ.get('DISPLAY'): + # Tkinter needs graphic environment for the widgets + class TestSpawn(TestCase): - @mock.patch('fs_uae_wrapper.message.MessageGui.__call__') - def test_spawn(self, call): - self.assertIsNone(message._spawn('')) - call.assert_called_once() + @mock.patch('fs_uae_wrapper.message.MessageGui.__call__') + def test_spawn(self, call): + self.assertIsNone(message._spawn('')) + call.assert_called_once() + class TestMessageGui(TestCase): -class TestMessageGui(TestCase): + def test_gui(self): + msg = message.MessageGui(msg='display that') + self.assertIsInstance(msg, tk.Tk) + self.assertIsInstance(msg.frame, ttk.Frame) + label = next(iter(msg.frame.children.values())) + self.assertEqual(label.cget('text'), 'display that') - def test_gui(self): - msg = message.MessageGui(msg='display that') - self.assertIsInstance(msg, tk.Tk) - self.assertIsInstance(msg.frame, ttk.Frame) - label = next(iter(msg.frame.children.values())) - self.assertEqual(label.cget('text'), 'display that') - - @mock.patch('fs_uae_wrapper.message.tk.Tk.mainloop') - def test_call(self, tkmain): - msg = message.MessageGui(msg='display that') - msg() - tkmain.assert_called_once() + @mock.patch('fs_uae_wrapper.message.tk.Tk.mainloop') + def test_call(self, tkmain): + msg = message.MessageGui(msg='display that') + msg() + tkmain.assert_called_once()