コード例 #1
0
def test_section_file_apply_to_file():
    """[Integration Test] Test apply_to_file() method of Section class."""
    # Setup a root dir to use to test
    root_dir = Dir({"path": "/tmp/ext_pylib/"})
    assert root_dir.remove(False)  # If it already exists, remove it.
    assert root_dir.create()
    assert root_dir.exists()

    file_without_section = File({"path": "/tmp/ext_pylib/file"})
    assert file_without_section.create()
    assert file_without_section.overwrite(FILE_CONTENTS_WITHOUT_SECTION)
    assert file_without_section.exists()

    class SectionFile(Section, File):
        """Dummy Class extending Section and File."""

    section = SectionFile({"path": "/tmp/ext_pylib/section"})
    assert section.create()
    assert section.overwrite(SECTION_FILE_CONTENTS)
    assert section.exists()

    file_with_section = File({"path": "/tmp/ext_pylib/file_with_section"})
    assert file_with_section.create()
    assert file_with_section.overwrite(FILE_CONTENTS_WITH_SECTION)
    assert file_with_section.exists()

    assert section.is_in(file_with_section.read())
    print("Without:")
    print(file_without_section.read())
    print("Without (Applied):")
    print(section.apply_to(file_without_section.read()))
    print("With:")
    print(file_with_section.read())
    assert section.apply_to(file_without_section.read()) == file_with_section.read()

    # Cleanup
    assert root_dir.remove(False)
    assert not root_dir.exists()