Example #1
0
def test_text_parser_blank_lines():
    with wrap() as wrapper:
        parser = TextFileParser()
        parser.wrapper = wrapper
        parser.parse("\n\n")
        docs = wrapper.docs
        assert len(docs) == 0
Example #2
0
def test_text_parser_valid_json():
    with wrap() as wrapper:
        parser = TextFileParser()
        parser.wrapper=wrapper
        parser.parse("""
        doc.txt { "contents" : 123 }
        """)

        docs = wrapper.docs
        assert docs[0].key == "doc.txt"
        assert docs[0].args['contents'] == 123
Example #3
0
def test_text_parser_comments():
    with wrap() as wrapper:
        parser = TextFileParser()
        parser.wrapper = wrapper
        parser.parse("""
        valid.doc
        # commented-out.doc
        """)

        docs = wrapper.docs
        assert len(docs) == 1
        assert docs[0].key == "valid.doc"
Example #4
0
def test_text_parser_invalid_json():
    with wrap() as wrapper:
        parser = TextFileParser()
        parser.wrapper = wrapper

        try:
            parser.parse("""
            doc.txt { "contents" : 123
            """)
            docs = wrapper.docs
            assert False, 'should raise UserFeedback'
        except dexy.exceptions.UserFeedback as e:
            assert 'unable to parse' in e.message
Example #5
0
def test_text_parser_virtual_file():
    with wrap() as wrapper:
        parser = TextFileParser()
        parser.wrapper = wrapper
        parser.parse("""
        virtual.txt { "contents" : "hello" }
        """)

        wrapper.run()
        docs = wrapper.docs

        assert docs[0].key == "virtual.txt"
        assert docs[0].output().as_text() == "hello"
Example #6
0
def test_text_parser():
    with wrap() as wrapper:
        with open("f1.py", "w") as f:
            f.write("print 'hello'")

        with open("f2.py", "w") as f:
            f.write("print 'hello'")

        with open("index.md", "w") as f:
            f.write("")

        parser = TextFileParser()
        parser.wrapper = wrapper
        parser.parse("""
        *.py
        *.py|idio
        *.md|jinja
        """)

        docs = [task for task in wrapper.registered if task.__class__.__name__ == 'Doc']

        assert len(docs) == 5

        assert docs[0] in docs[1].children

        assert docs[0] in docs[2].children
        assert docs[1] in docs[2].children

        assert docs[0] in docs[3].children
        assert docs[1] in docs[3].children
        assert docs[2] in docs[3].children

        assert docs[0] in docs[4].children
        assert docs[1] in docs[4].children
        assert docs[2] in docs[4].children
        assert docs[3] in docs[4].children

        assert docs[4].key == "index.md|jinja"