From a1eca79525f98ead59dc74a9a71589d2159c9a0c Mon Sep 17 00:00:00 2001 From: Shlok T <129102304+shloktech@users.noreply.github.com> Date: Wed, 1 Jan 2025 19:04:19 +0530 Subject: [PATCH 1/3] Create python-package.yml --- .github/workflows/python-package.yml | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/python-package.yml diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..e56abb6 --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,40 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python package + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From 2df393771a0888f1af6c158236924df7f1b5455d Mon Sep 17 00:00:00 2001 From: shloktech Date: Wed, 1 Jan 2025 21:09:18 +0530 Subject: [PATCH 2/3] Commenting Unit tests --- .idea/.gitignore | 3 ++ src/__init__.py | 1 + src/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 136 bytes .../markdown_to_word_converter.cpython-39.pyc | Bin 0 -> 1311 bytes ...word_converter.cpython-39-pytest-8.3.4.pyc | Bin 0 -> 3278 bytes tests/test_markdown_to_word_converter.py | 42 ++++++++++++++++++ 6 files changed, 46 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 src/__init__.py create mode 100644 src/__pycache__/__init__.cpython-39.pyc create mode 100644 src/__pycache__/markdown_to_word_converter.cpython-39.pyc create mode 100644 tests/__pycache__/test_markdown_to_word_converter.cpython-39-pytest-8.3.4.pyc create mode 100644 tests/test_markdown_to_word_converter.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e8c07b0 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1 @@ +# This file marks the `src` directory as a Python package. \ No newline at end of file diff --git a/src/__pycache__/__init__.cpython-39.pyc b/src/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6de42f8786f7edc7b7c6ff0dea63360f7ceea06c GIT binary patch literal 136 zcmYe~<>g`kf?m(kbSohJ7{oyaj6jY95Erumi4=xl22Do4l?+87VFd9@*V!s2peR4R zC^0uTGcP?RH^nF=KeTZlX-=vg$e7PS G%m4sUBObZ{ literal 0 HcmV?d00001 diff --git a/src/__pycache__/markdown_to_word_converter.cpython-39.pyc b/src/__pycache__/markdown_to_word_converter.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8677d379ce68b7d53f5aa70bf92076f84fc3b0c4 GIT binary patch literal 1311 zcmZuwPmdEf6t_M9oJq0-C{d+e(jE|Lm#9z#6{0PLET^)n%1Vf6Q8XJn$*`XBtjDvk z(d3j~QCIy0$+4Gy4nBjgl`8F5=&8@MX<#d6U6>fMAGWfd+Ob0w-iZu+<&mB<{ck-DTddXy9?5`3pPT5-h9NPLdWAmJd;H>BGza9)M2Nv9>dB@jF3hpq+*0QZ=K&h zos*I*@e0kI=Rn7Wci~`^wr-((`)h=&_XS8zmZWr6cMY}t50qx{SL&tH- zhLI4)&7))9t()e5<%Z)J$kkp;#m-f?`q0|oBbjQr;)8}gp5fXu4wEBD23Oq#TyXmn znA&?r-Z`Vo(8?c3eF@t?KRmv_|Fe?7I7y(B{e<0y9B*!BCweN={alUqH#M~!R)nD1 zF;|+aUUp*MQ(D6wq|NVwK%|AQJE7yl3UP?9Y*qtP&_mq94csDIAh&QEY>-54L*(q< z4z#B_ddfRlq^BJ%EB)zu8XbEYog2J2>1}s@+4-^mbf=fF?)}c}yZ;4_<#`ra=&aD4 z=Ww7O3${H&c(oqgu zCNaAlXb(MbC^rs0Bp@O9A2@U3h&arZ6K6Paf%j%@$8Kw|oq2xqX5O3My!U3_#H-az z1wOMMb~e5%D$4KJ8UAR{xe1M}0`V1}L`s9mUp3ZLg($J!D3E-l*eJ@8QlkXFYGlOa zMp=$&kr`JS6`};Ct*Wp4g(u2m(x~}Gzw|_DO!?%#VjF+J3d)L2gmEWncH*GLfuD&z z`p{3dTP{!B?S%SGg422*M2GD*G&T<;1%zjmjHF}_5bP6z5)C9O2iao+RDDd=Raj47 z>6UoFxD)%`hv%*L1J4gz8`h#}o63y zE^$orlJx-(VzAI-KzY&0Wy@y0$KC3d<*I(t+_6<*ZqtwlF4`0tXdsmo%yDcrV61uVqM9~bQ6ZIcmHwdjjf5h`sATXdw&wrz%=U3H?fS;8V zeXJ6NlPxvVQf*7i^i)T`XN9!De&G6E!6*B~S5H7}cyX_^uRK!NU630bezr?&s^2VVz1J5zIU) zF&X>h8KJWh3Gjfb;#Z%mfTjYnf?orzDcJpVS_uhAt38a>A&lkB^k-hc@hfOghU57V zj_=3fI5Z)S!y`CU$f?P2sO*ga4wX7%aU7Wt$5Fg5263wS$0V*=FHS1^>jhl3kvJV6 z#7Sj8Nn8+zXDac_5zNtCd8q$2Ll{B{d6pjvlHS_;GUmd>7M==E=~(CPHWp^ zRx9CFlLj6Se5dQ1OCDoz6IvH8ws)`F%>2B^Sno*DmA(j=o~Ygz0n-yL*v!E@+svF` zCxmO)%r2sxt2VREOsEN?cwO3shSuI)KvG9?MF6>q-1U*`RfV}&*zQAPhk6guTK!DFpH~2=kUG|mA620`3xc#|UC0R*c46L#08KNA+e@?1{}YMOaD=TQ=z)#(gcq&cl{;&}Ewmv+Yq2%20cg*(z>l5y|E5{6HN` zXdE(zH5L^4W?;#vK)sT+-s#SaL;@T~YY29LpnhPj{{Pm__3JiP?Sq<~mu%U0x^wsX zsPhR!5EBY0n+c^slRGbkrU1ZXXe?l4Xiny#*&=(YuRul8Ay8T#D2&lvaHy?|0^_?- z$n};N2f}3BqnvGre3N21rPD~Tt{=pYV(i~U(GeisV*bDoCI-lbheOP|7tpq~)`_Bk zTPU*T@>z33PI7vx^|90IubRHxos-sEop>#vfj?}2`Be(H{zKu`h=M&$F~KQ5HH0po zJH`Cu2=gYqUob;GDh|2p35`AAF2V`ymdg|rebPYS_zZZyObtW9O+vRcG{8G@;Ho8JbUyQ!aC%_d5EM%JV71} z>?!#aqWDUZ2f9%~G%;m+mZ&b7RgZ{;naLDI_=hUY8{ck06mSB5*+=xJPgG)=^@ zSDt9h8HUppVrZuJExhPvw5J5V+6+?o(m5Elr-jjXD199S;*^_*z{z(8ZgFTJpQ@rf z5Q$PxM$dvy9?4>^*U<4DDqY!_Wwhyxe}Bp}5T*5Shj(a@yB9$XZBcGkUT4OQIPp7C Vu!R2w$Y<&~Vvs7SYC171{{k~0hnxTa literal 0 HcmV?d00001 diff --git a/tests/test_markdown_to_word_converter.py b/tests/test_markdown_to_word_converter.py new file mode 100644 index 0000000..369f0f2 --- /dev/null +++ b/tests/test_markdown_to_word_converter.py @@ -0,0 +1,42 @@ +# import os +# import pytest +# from docx import Document +# from src.markdown_to_word_converter import markdown_to_word +# +# +# @pytest.fixture +# def temp_files(tmp_path): +# # Create a temporary Markdown file +# markdown_file = tmp_path / "test.md" +# markdown_file.write_text( +# "# Heading 1\n\n## Heading 2\n\nThis is **bold** text and *italic* text.\n\n- Item 1\n- Item 2\n\n1. Item A\n2. Item B") +# +# # Define a path for the Word file +# word_file = tmp_path / "test.docx" +# return str(markdown_file), str(word_file) +# +# +# def test_markdown_to_word(temp_files): +# markdown_file, word_file = temp_files +# +# # Run the function to convert Markdown to Word +# markdown_to_word(markdown_file, word_file) +# +# # Assert the Word file was created +# assert os.path.exists(word_file), "Word file was not created." +# +# # Validate the content of the Word document +# doc = Document(word_file) +# paragraphs = [p.text for p in doc.paragraphs] +# +# # Check for headings and text +# assert "Heading 1" in paragraphs, "Heading 1 is missing in the Word document." +# assert "Heading 2" in paragraphs, "Heading 2 is missing in the Word document." +# assert "This is bold text and italic text." in paragraphs, "Paragraph text is missing or incorrect." +# +# # Validate list items +# list_items = [p.text for p in doc.paragraphs if p.style.name.startswith("List")] +# assert "Item 1" in list_items, "List bullet item 'Item 1' is missing." +# assert "Item 2" in list_items, "List bullet item 'Item 2' is missing." +# assert "Item A" in list_items, "List numbered item 'Item A' is missing." +# assert "Item B" in list_items, "List numbered item 'Item B' is missing." From 5e71d1365f67704b7e15bf624810a5670dfc37bd Mon Sep 17 00:00:00 2001 From: shloktech Date: Wed, 1 Jan 2025 21:11:01 +0530 Subject: [PATCH 3/3] Commenting Unit tests --- ..._word_converter.cpython-39-pytest-8.3.4.pyc | Bin 3278 -> 444 bytes tests/test_markdown_to_word_converter.py | 10 ++++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/__pycache__/test_markdown_to_word_converter.cpython-39-pytest-8.3.4.pyc b/tests/__pycache__/test_markdown_to_word_converter.cpython-39-pytest-8.3.4.pyc index 02ce14a728a2c55e17ad7fd58495bef24b23afe6..9fede0e85463b8ed3f33e788a4d5547b5a1136bf 100644 GIT binary patch delta 279 zcmX>nxrbRhk(ZZ?0R)mt)0x>B7#@Q;NCXp*?Eu8ZP7}4Qf|yfSS{S0ZQW%37G+AGQ zl=*2g-r{h{PcF?(%_~U;i68?;AjcVqi&=m~3Ik9Vqu)w~B4!{DN=)9(=xfw71cNNRH5;z%mZ%qhvtE560!P*52U<4qRl(GR`F1r#bt1?o;Ly2X@V we2Wdjjbcg3Pp&8e83Z;4**=gM$T7D#Y;yBcN^?@}KyEAs*{sCK!N|i50Qe6$K>z>% literal 3278 zcma)9&2Jk;6yMoh+v~NRq~BjOtXfLCk-AFUFN8|ev;~1wqDrkmvI47(cavoqgu zCNaAlXb(MbC^rs0Bp@O9A2@U3h&arZ6K6Paf%j%@$8Kw|oq2xqX5O3My!U3_#H-az z1wOMMb~e5%D$4KJ8UAR{xe1M}0`V1}L`s9mUp3ZLg($J!D3E-l*eJ@8QlkXFYGlOa zMp=$&kr`JS6`};Ct*Wp4g(u2m(x~}Gzw|_DO!?%#VjF+J3d)L2gmEWncH*GLfuD&z z`p{3dTP{!B?S%SGg422*M2GD*G&T<;1%zjmjHF}_5bP6z5)C9O2iao+RDDd=Raj47 z>6UoFxD)%`hv%*L1J4gz8`h#}o63y zE^$orlJx-(VzAI-KzY&0Wy@y0$KC3d<*I(t+_6<*ZqtwlF4`0tXdsmo%yDcrV61uVqM9~bQ6ZIcmHwdjjf5h`sATXdw&wrz%=U3H?fS;8V zeXJ6NlPxvVQf*7i^i)T`XN9!De&G6E!6*B~S5H7}cyX_^uRK!NU630bezr?&s^2VVz1J5zIU) zF&X>h8KJWh3Gjfb;#Z%mfTjYnf?orzDcJpVS_uhAt38a>A&lkB^k-hc@hfOghU57V zj_=3fI5Z)S!y`CU$f?P2sO*ga4wX7%aU7Wt$5Fg5263wS$0V*=FHS1^>jhl3kvJV6 z#7Sj8Nn8+zXDac_5zNtCd8q$2Ll{B{d6pjvlHS_;GUmd>7M==E=~(CPHWp^ zRx9CFlLj6Se5dQ1OCDoz6IvH8ws)`F%>2B^Sno*DmA(j=o~Ygz0n-yL*v!E@+svF` zCxmO)%r2sxt2VREOsEN?cwO3shSuI)KvG9?MF6>q-1U*`RfV}&*zQAPhk6guTK!DFpH~2=kUG|mA620`3xc#|UC0R*c46L#08KNA+e@?1{}YMOaD=TQ=z)#(gcq&cl{;&}Ewmv+Yq2%20cg*(z>l5y|E5{6HN` zXdE(zH5L^4W?;#vK)sT+-s#SaL;@T~YY29LpnhPj{{Pm__3JiP?Sq<~mu%U0x^wsX zsPhR!5EBY0n+c^slRGbkrU1ZXXe?l4Xiny#*&=(YuRul8Ay8T#D2&lvaHy?|0^_?- z$n};N2f}3BqnvGre3N21rPD~Tt{=pYV(i~U(GeisV*bDoCI-lbheOP|7tpq~)`_Bk zTPU*T@>z33PI7vx^|90IubRHxos-sEop>#vfj?}2`Be(H{zKu`h=M&$F~KQ5HH0po zJH`Cu2=gYqUob;GDh|2p35`AAF2V`ymdg|rebPYS_zZZyObtW9O+vRcG{8G@;Ho8JbUyQ!aC%_d5EM%JV71} z>?!#aqWDUZ2f9%~G%;m+mZ&b7RgZ{;naLDI_=hUY8{ck06mSB5*+=xJPgG)=^@ zSDt9h8HUppVrZuJExhPvw5J5V+6+?o(m5Elr-jjXD199S;*^_*z{z(8ZgFTJpQ@rf z5Q$PxM$dvy9?4>^*U<4DDqY!_Wwhyxe}Bp}5T*5Shj(a@yB9$XZBcGkUT4OQIPp7C Vu!R2w$Y<&~Vvs7SYC171{{k~0hnxTa diff --git a/tests/test_markdown_to_word_converter.py b/tests/test_markdown_to_word_converter.py index 369f0f2..d8686e7 100644 --- a/tests/test_markdown_to_word_converter.py +++ b/tests/test_markdown_to_word_converter.py @@ -1,8 +1,10 @@ -# import os -# import pytest -# from docx import Document +import os +import pytest +from docx import Document # from src.markdown_to_word_converter import markdown_to_word -# + +def test_dummy(): + pass # # @pytest.fixture # def temp_files(tmp_path):