Source code for deform_markdown.test_init

# -*- coding: utf-8 -*-
from pytest import fixture
import colander


@fixture
[docs]def renderer(): from deform.tests.test_widget import DummyRenderer return DummyRenderer()
@fixture
[docs]def schema(): from deform.tests.test_widget import DummySchema return DummySchema()
@fixture
[docs]def field(schema, renderer): from deform.tests.test_widget import DummyField return DummyField(schema, renderer)
[docs]class TestMarkdownTextAreaWidget:
[docs] def make_one(self, **kw): from . import MarkdownTextAreaWidget return MarkdownTextAreaWidget(**kw)
[docs] def test_serialize_null(self, field): inst = self.make_one() inst.serialize(field, colander.null) assert field.renderer.template == inst.template assert field.renderer.kw['field'] == field assert field.renderer.kw['cstruct'] == ''
[docs] def test_serialize_none(self, field): inst = self.make_one() inst.serialize(field, None) assert field.renderer.template == inst.template assert field.renderer.kw['field'] == field assert field.renderer.kw['cstruct'] == ''
[docs] def test_serialize_not_null(self, field): inst = self.make_one() inst.serialize(field, 'abc') assert field.renderer.kw['cstruct'] == 'abc'
[docs] def test_serialize_readonly(self, field): inst = self.make_one() field.schema = schema inst.serialize(field, None, readonly=True) assert field.renderer.template == inst.readonly_template
[docs] def test_serialize_default_and_custom_options(self, field): import json inst = self.make_one() inst.serialize(field, 'abc', options={'custom': '1'}) result = field.renderer.kw['simplemde_options'] result_options = json.loads(result) assert result_options['height'] == 240 assert result_options['custom'] == '1'
[docs] def test_serialize_autosave_default_option(self, field, monkeypatch): import json inst = self.make_one() inst.serialize(field, 'abc') result = field.renderer.kw['simplemde_options'] result_options = json.loads(result) assert result_options['autosave']['enabled'] assert result_options['autosave']['uniqueid']
[docs] def test_deserialize_strip(self, field): inst = self.make_one() result = inst.deserialize(field, ' abc ') assert result == 'abc'
[docs] def test_deserialize_no_strip(self, field): inst = self.make_one(strip=False) result = inst.deserialize(field, ' abc ') assert result == ' abc '
[docs] def test_deserialize_null(self, field): inst = self.make_one(strip=False) result = inst.deserialize(field, colander.null) assert result is colander.null
[docs] def test_deserialize_emptystring(self, field): inst = self.make_one() result = inst.deserialize(field, '') assert result is colander.null
[docs]def test_add_default_resources(): from deform.widget import default_resource_registry assert 'simplemde' in default_resource_registry.registry