Пример #1
0
def test_embed_code_only_specific_line_from_file_2():
    """```[lang]:[filepath] [line no] are available."""
    text_code = """```python:tests/src/sample.py[4-]\n```\n"""
    code_emb = get_code_emb()
    assert code_emb(text_code) == (
        "```python:tests/src/sample.py[4-]\n"
        "def sample(x):\n"
        "    return sqrt(x)\n"
        "\n"
        "```\n"
    ), "Must contain selected lines in code in text"

    text_code = """```python:tests/src/sample.py[4-6]\n```\n"""
    code_emb = get_code_emb()
    assert code_emb(text_code) == (
        "```python:tests/src/sample.py[4-6]\n"
        "def sample(x):\n"
        "    return sqrt(x)\n"
        "\n"
        "```\n"
    ), "Must contain selected lines in code in text"

    text_code = """```python:tests/src/sample.py[-3]\n```\n"""
    code_emb = get_code_emb()
    # fmt:off
    assert code_emb(text_code) == (
        "```python:tests/src/sample.py[-3]\n"
        "from math import sqrt\n"
        "\n"
        "\n"
        "```\n"
    ), "Must contain selected lines in code in text"
Пример #2
0
def test_embed_code_only_specific_line_from_file(lang):
    """```[lang]:[filepath] [line no] are available."""
    code_emb = get_code_emb()
    text_contains_code = f"""```{lang}\n```\n"""
    # fmt:off
    assert code_emb(text_contains_code) == (
        f"```{lang}\n"
        "def sample(x):\n"
        "    return sqrt(x)\n"
        "```\n"
    ), "Must contain selected lines in code in text"
Пример #3
0
def test_embed_code_from_file():
    """```[lang]:[filepath] are available."""
    text = """```python:tests/src/sample.py\n```\n"""
    code_emb = get_code_emb()
    assert code_emb(text) == (
        "```python:tests/src/sample.py\n"
        "from math import sqrt\n"
        "\n"
        "\n"
        "def sample(x):\n"
        "    return sqrt(x)\n"
        "\n"
        "```\n"
    )
Пример #4
0
def test_override_embed_code_from_file():
    """```[lang]:[filepath] are available."""
    text_contains_code = (
        """```python:tests/src/sample.py\nprint('code already exists')\n```\n"""
    )
    code_emb = get_code_emb()
    assert code_emb(text_contains_code) == (
        "```python:tests/src/sample.py\n"
        "from math import sqrt\n"
        "\n"
        "\n"
        "def sample(x):\n"
        "    return sqrt(x)\n"
        "\n"
        "```\n"
    ), "Must override code in text"
Пример #5
0
else:
    sys.exit(1)
pr = repo.get_pull(number)
if pr.merged:
    # ignore at merged
    sys.exit(0)

if not settings.input_output.is_dir():
    output_path = settings.input_output
else:
    output_path = settings.input_markdown

with open(settings.input_markdown, "r") as f:
    doc = f.read()

md = get_code_emb()
embedded_doc = md(doc)

with open(output_path, "w") as f:
    f.write(embedded_doc)

proc = subprocess.run(["git", "status", "--porcelain"],
                      check=True,
                      stdout=subprocess.PIPE)
if not proc.stdout:
    # no change
    if not settings.input_silent:
        pr.create_issue_comment(settings.input_no_change)
    sys.exit(0)

subprocess.run(["git", "add", output_path], check=True)
Пример #6
0
def test_ignore_no_filepath():
    """if no filepath, ignore them."""
    text = """```python\n```\n"""
    code_emb = get_code_emb()
    assert text == code_emb(text)