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"
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"
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" )
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"
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)
def test_ignore_no_filepath(): """if no filepath, ignore them.""" text = """```python\n```\n""" code_emb = get_code_emb() assert text == code_emb(text)