1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
"""
Test the file loader built-in extension
"""
import pytest
import lookatme.config
import lookatme.contrib.file_loader
import lookatme.render.pygments
from tests.utils import assert_render, render_markdown
TEST_STYLE = {
"style": "monokai",
"headings": {
"default": {
"fg": "bold",
"bg": "",
"prefix": "|",
"suffix": "|",
},
},
}
@pytest.fixture(autouse=True)
def file_loader_setup(tmpdir, mocker):
mocker.patch.object(lookatme.config, "LOG")
mocker.patch("lookatme.config.SLIDE_SOURCE_DIR", new=str(tmpdir))
mocker.patch("lookatme.contrib.CONTRIB_MODULES", new=[
lookatme.contrib.file_loader
])
mocker.patch("lookatme.config.STYLE", new=TEST_STYLE)
def test_file_loader(tmpdir, mocker):
"""Test the built-in file loader extension
"""
tmppath = tmpdir.join("test.py")
tmppath.write("print('hello')")
rendered = render_markdown(f"""
```file
path: {tmppath}
relative: false
```
""")
stripped_rows = [
b'',
b"print('hello')",
b'',
b'',
b'',
]
assert_render(stripped_rows, rendered)
def test_file_loader_with_transform(tmpdir, mocker):
"""Test the built-in file loader extension
"""
tmppath = tmpdir.join("test.py")
tmppath.write("""
Hello
Apples2
there
Apples3
there
Apples1
""")
rendered = render_markdown(f"""
```file
path: {tmppath}
relative: false
transform: "grep -i apples | sort"
```
""")
stripped_rows = [
b'',
b"Apples1",
b'Apples2',
b'Apples3',
b'',
b'',
b'',
]
assert_render(stripped_rows, rendered)
def test_file_loader_relative(tmpdir, mocker):
"""Test the built-in file loader extension
"""
tmppath = tmpdir.join("test.py")
tmppath.write("print('hello')")
rendered = render_markdown("""
```file
path: test.py
relative: true
```
""")
stripped_rows = [
b'',
b"print('hello')",
b'',
b'',
b'',
]
assert_render(stripped_rows, rendered)
def test_file_loader_not_found(mocker):
"""Test the built-in file loader extension
"""
rendered = render_markdown("""
```file
path: does_not_exist.py
```
""")
stripped_rows = [
b'',
b"File not found",
b'',
b'',
b'',
]
assert_render(stripped_rows, rendered)
|