1
0
mirror of https://github.com/gryf/fs-uae-wrapper.git synced 2026-02-18 08:05:46 +01:00

Added conditional for gui tests, which depends on graphical environment

This commit is contained in:
2016-12-24 10:28:13 +01:00
parent 0c1bfa3620
commit 8999c361a2

View File

@@ -1,10 +1,5 @@
from unittest import TestCase from unittest import TestCase
try: import os
import tkinter as tk
from tkinter import ttk
except ImportError:
import Tkinter as tk
import ttk
try: try:
from unittest import mock from unittest import mock
@@ -13,6 +8,14 @@ except ImportError:
from fs_uae_wrapper import message 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): class TestMessage(TestCase):
@@ -44,25 +47,26 @@ class TestMessage(TestCase):
msg._process.join.assert_called_once() 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__') @mock.patch('fs_uae_wrapper.message.MessageGui.__call__')
def test_spawn(self, call): def test_spawn(self, call):
self.assertIsNone(message._spawn('')) self.assertIsNone(message._spawn(''))
call.assert_called_once() 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): @mock.patch('fs_uae_wrapper.message.tk.Tk.mainloop')
msg = message.MessageGui(msg='display that') def test_call(self, tkmain):
self.assertIsInstance(msg, tk.Tk) msg = message.MessageGui(msg='display that')
self.assertIsInstance(msg.frame, ttk.Frame) msg()
label = next(iter(msg.frame.children.values())) tkmain.assert_called_once()
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()