Commit 714f0a79 authored by Raphael Boidol's avatar Raphael Boidol

extend test for cli with some output to check for str/byte problems

parent 00704e0a
import argparse
from wordcloud import wordcloud_cli as cli
import wordcloud as wc
import os
from collections import namedtuple
from mock import patch, MagicMock
from import assert_equal, assert_true, assert_in
from tempfile import NamedTemporaryFile
import wordcloud as wc
from wordcloud import wordcloud_cli as cli
from mock import patch
from import assert_equal, assert_greater, assert_true, assert_in, assert_not_in
temp = NamedTemporaryFile()
ArgOption = namedtuple('ArgOption', ['cli_name', 'init_name', 'pass_value', 'fail_value'])
......@@ -31,16 +33,13 @@ def all_arguments():
def test_main_passes_arguments_through():
args = argparse.Namespace()
temp_imagefile = NamedTemporaryFile()
args = argparse.Namespace(text='some long text', imagefile=open(, 'w'))
for option in all_arguments():
setattr(args, option.init_name, option.pass_value)
args.imagefile = NamedTemporaryFile()
args.imagefile.buffer = MagicMock()
args.text = 'some long text'
with patch('wordcloud.wordcloud_cli.wc.WordCloud', autospec=True) as mock_word_cloud:
instance = mock_word_cloud.return_value
instance.to_image.return_value = MagicMock()
posargs, kwargs = mock_word_cloud.call_args
......@@ -95,3 +94,16 @@ def test_parse_args_defaults_to_random_color():
args = cli.parse_args(['--text',])
assert_equal(args.color_func, wc.random_color_func)
def test_cli_writes_image():
# ensure writting works with all python versions
temp_imagefile = NamedTemporaryFile()
temp_textfile = NamedTemporaryFile()
temp_textfile.write(b'some text')
args = cli.parse_args(['--text',, '--imagefile',])
assert_greater(os.path.getsize(, 0, msg='expecting image to be written')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment