Ejemplo n.º 1
0
Archivo: utils.py Proyecto: dexy/dexy
def assert_output(filter_alias,
                  doc_contents,
                  expected_output,
                  ext=".txt",
                  basename=None):
    if not ext.startswith("."):
        raise Exception("ext arg to assert_in_output must start with dot")

    if isinstance(doc_contents, dict):
        raise Exception("doc contents can't be dict")

    with runfilter(filter_alias, doc_contents, ext=ext,
                   basename=basename) as doc:
        actual_output_data = doc.output_data()
        if isinstance(actual_output_data, Sectioned):
            for section_name, expected_section_contents in expected_output.items(
            ):
                try:
                    actual_section_contents = str(
                        actual_output_data[section_name])
                    assert actual_section_contents == expected_section_contents
                except AssertionError:
                    print("Sections %s are not the same" % section_name)
                    print(
                        char_diff(actual_section_contents,
                                  expected_section_contents))
        else:
            actual_output_data = str(doc.output_data())
            try:
                assert actual_output_data == expected_output
            except AssertionError:
                print(char_diff(actual_output_data, expected_output))
Ejemplo n.º 2
0
def assert_output(filter_alias, doc_contents, expected_output, ext=".txt", args=None):
    if not args:
        args = {}

    if not ext.startswith("."):
        raise Exception("ext arg to assert_in_output must start with dot")

    if isinstance(expected_output, dict):
        expected_output = create_ordered_dict_from_dict(expected_output)
    if isinstance(doc_contents, dict):
        doc_contents = create_ordered_dict_from_dict(doc_contents)

    with runfilter(filter_alias, doc_contents, ext=ext) as doc:
        if expected_output:
            try:
                assert doc.output().data() == expected_output
            except AssertionError as e:
                if not isinstance(expected_output, OrderedDict):
                    print char_diff(doc.output().as_text(), expected_output)
                else:
                    print "Output: %s" % doc.output().data()
                    print "Expected: %s" % expected_output

                raise e
        else:
            raise Exception("Output is '%s'" % doc.output().data())
Ejemplo n.º 3
0
def assert_output(filter_alias, doc_contents, expected_output, ext=".txt"):
    if not ext.startswith("."):
        raise Exception("ext arg to assert_in_output must start with dot")

    if isinstance(expected_output, dict):
        expected_output = create_ordered_dict_from_dict(expected_output)

    with runfilter(filter_alias, doc_contents, ext=ext) as doc:
        try:
            assert doc.output().data() == expected_output
        except AssertionError as e:
            print char_diff(doc.output().data_or_dict(), expected_output)
            raise e
Ejemplo n.º 4
0
def assert_output(filter_alias, doc_contents, expected_output, ext=".txt"):
    if not ext.startswith("."):
        raise Exception("ext arg to assert_in_output must start with dot")

    if isinstance(expected_output, dict):
        expected_output = create_ordered_dict_from_dict(expected_output)

    with runfilter(filter_alias, doc_contents, ext=ext) as doc:
        try:
            assert doc.output().data() == expected_output
        except AssertionError as e:
            print char_diff(doc.output().data_or_dict(), expected_output)
            raise e
Ejemplo n.º 5
0
def assert_output(filter_alias, doc_contents, expected_output, ext=".txt", basename=None):
    if not ext.startswith("."):
        raise Exception("ext arg to assert_in_output must start with dot")

    if isinstance(doc_contents, dict):
        raise Exception("doc contents can't be dict")

    with runfilter(filter_alias, doc_contents, ext=ext, basename=basename) as doc:
        actual_output_data = doc.output_data()
        if isinstance(actual_output_data, Sectioned):
            for section_name, expected_section_contents in expected_output.iteritems():
                try:
                    actual_section_contents = unicode(actual_output_data[section_name])
                    assert actual_section_contents == expected_section_contents
                except AssertionError:
                    print "Sections %s are not the same" % section_name
                    print char_diff(actual_section_contents, expected_section_contents)
        else:
            actual_output_data = unicode(doc.output_data())
            try:
                assert actual_output_data == expected_output
            except AssertionError:
                print char_diff(actual_output_data, expected_output)