Skip to content

Commit

Permalink
Refactor tests for widget's diversion from editor
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanor committed Jan 31, 2018
1 parent fea10af commit e54ee44
Showing 1 changed file with 75 additions and 49 deletions.
124 changes: 75 additions & 49 deletions tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,68 +239,95 @@ def test_render_markup(self):
'replace this text'}))


class RenderTests(MIUTestCase):
class RenderTemplateTagTests(MIUTestCase):
look_for = 'var element = $("#my_id");'
auto_preview_override = True
look_for_auto_preview = "$('a[title=\"Preview\"]').trigger('mouseup');"
template = '{% load markitup_tags %}{% markitup_editor "my_id" %}'

def test_widget_render(self):
widget = MarkItUpWidget()
self.assertIn(self.look_for,
widget.render('name', 'value', {'id': 'my_id'}))
def setUp(self):
self._old_auto = settings.MARKITUP_AUTO_PREVIEW

def test_widget_render_with_custom_id(self):
widget = MarkItUpWidget(attrs={'id': 'my_id'})
def tearDown(self):
settings.MARKITUP_AUTO_PREVIEW = self._old_auto

def test_render(self):
self.assertIn(self.look_for,
widget.render('name', 'value'))
self.render(self.template))

def test_widget_render_preview_parser_path(self):
widget = MarkItUpWidget()
self.assertIn('mySettings["previewParserPath"] = "/markitup/preview/";',
widget.render('name', 'value', {'id': 'my_id'}))
def test_render_preview_parser_path(self):
self.assertIn(
'mySettings["previewParserPath"] = "/markitup/preview/";',
self.render(self.template))

def test_templatetag_render(self):
template = """{% load markitup_tags %}{% markitup_editor "my_id" %}"""
self.assertIn(self.look_for,
self.render(template))
def test_auto_preview_setting(self):
settings.MARKITUP_AUTO_PREVIEW = True
self.assertIn(self.look_for_auto_preview,
self.render(self.template))

def test_templatetag_render_preview_parser_path(self):
template = """{% load markitup_tags %}{% markitup_editor "my_id" %}"""
self.assertIn('mySettings["previewParserPath"] = "/markitup/preview/";',
def test_auto_preview_override(self):
template = ('{% load markitup_tags %}'
'{% markitup_editor "my_id" "auto_preview" %}')
self.assertIn(self.look_for_auto_preview,
self.render(template))

def test_per_widget_auto_preview_override(self):
widget = MarkItUpWidget(auto_preview=self.auto_preview_override)
self.assertIn(AutoPreviewSettingTests.look_for,
widget.render('name', 'value', {'id': 'my_id'}),
reverse=not self.auto_preview_override)

def test_per_ttag_auto_preview_override(self):
if self.auto_preview_override:
arg = "auto_preview"
else:
arg = "no_auto_preview"
template = """{%% load markitup_tags %%}{%% markitup_editor "my_id" "%s" %%}""" % (arg,)
self.assertIn(AutoPreviewSettingTests.look_for,
self.render(template),
reverse=not self.auto_preview_override)
def test_auto_preview_override_setting(self):
settings.MARKITUP_AUTO_PREVIEW = True
template = ('{% load markitup_tags %}'
'{% markitup_editor "my_id" "no_auto_preview" %}')
self.assertIn(self.look_for_auto_preview,
self.render(template), reverse=True)


class AutoPreviewSettingTests(RenderTests):
look_for = "$('a[title=\"Preview\"]').trigger('mouseup');"
auto_preview_override = False
class RenderWidgetTests(MIUTestCase):
look_for = 'class="django-markitup-widget"'
look_for_auto_preview = 'data-auto-preview="1'

def setUp(self):
self._old_auto = settings.MARKITUP_AUTO_PREVIEW
settings.MARKITUP_AUTO_PREVIEW = True

def tearDown(self):
settings.MARKITUP_AUTO_PREVIEW = self._old_auto

def test_render(self):
widget = MarkItUpWidget()
self.assertIn(self.look_for,
widget.render('name', 'value'))

def test_render_preview_parser_path(self):
widget = MarkItUpWidget()
self.assertIn('data-preview-url="/markitup/preview/"',
widget.render('name', 'value'))

def test_auto_preview_setting(self):
settings.MARKITUP_AUTO_PREVIEW = True
widget = MarkItUpWidget()
self.assertIn(self.look_for_auto_preview,
widget.render('name', 'value'))

def test_auto_preview_override(self):
widget = MarkItUpWidget(auto_preview=True)
self.assertIn(self.look_for_auto_preview,
widget.render('name', 'value'))

def test_auto_preview_override_setting(self):
settings.MARKITUP_AUTO_PREVIEW = True
widget = MarkItUpWidget(auto_preview=False)
self.assertIn(self.look_for_auto_preview,
widget.render('name', 'value'),
reverse=True)


class TemplatetagMediaUrlTests(MIUTestCase):
maxDiff = None
prefix = '/static'

def get_script_tags(self):
return """
<script type="text/javascript" src="%(prefix)s/markitup/ajax_csrf.js"></script>
<script type="text/javascript" src="%(prefix)s/markitup/jquery.markitup.js"></script>
<script type="text/javascript" src="%(prefix)s/markitup/sets/default/set.js"></script>
""".strip()

def setUp(self):
self._reset_storage()

Expand Down Expand Up @@ -336,12 +363,10 @@ def _get_js(self):
return self.render("{% load markitup_tags %}{% markitup_js %}")

def _get_expected_media(self):
out = """<link href="%(prefix)s/markitup/skins/simple/style.css" type="text/css" media="screen" rel="stylesheet" />
out = ("""<link href="%(prefix)s/markitup/skins/simple/style.css" type="text/css" media="screen" rel="stylesheet" />
<link href="%(prefix)s/markitup/sets/default/style.css" type="text/css" media="screen" rel="stylesheet" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="%(prefix)s/markitup/ajax_csrf.js"></script>
<script type="text/javascript" src="%(prefix)s/markitup/jquery.markitup.js"></script>
<script type="text/javascript" src="%(prefix)s/markitup/sets/default/set.js"></script>""" % {'prefix': self.prefix}
""" + self.get_script_tags()) % {'prefix': self.prefix}
return out

# JQUERY_URL settings and resulting link
Expand Down Expand Up @@ -382,12 +407,7 @@ def test_jquery_url(self):
else:
self.assertHTMLEqual(
self._get_js(),
(
'<script type="text/javascript" src="%(prefix)s/markitup/ajax_csrf.js"></script>\n'
'<script type="text/javascript" src="%(prefix)s/markitup/jquery.markitup.js"></script>\n'
'<script type="text/javascript" src="%(prefix)s/markitup/sets/default/set.js"></script>'
% {'prefix': self.prefix}
))
self.get_script_tags() % {'prefix': self.prefix})
finally:
settings.JQUERY_URL = _old_jquery_url

Expand Down Expand Up @@ -425,6 +445,12 @@ def test_honor_staticfiles_storage(self):
class WidgetMediaUrlTests(TemplatetagMediaUrlTests):
maxDiff = None

def get_script_tags(self):
return (super(WidgetMediaUrlTests, self).get_script_tags()
+ '\n'
+ '<script type="text/javascript" '
+ 'src="%(prefix)s/markitup/django-markitup.js"></script>')

def _get_media_obj(self, *args, **kwargs):
widget = MarkItUpWidget(*args, **kwargs)
return widget.media
Expand Down

0 comments on commit e54ee44

Please sign in to comment.