Skip to content

Commit 4d05e4e

Browse files
committed
add pytest
1 parent f20f860 commit 4d05e4e

File tree

2 files changed

+99
-5
lines changed

2 files changed

+99
-5
lines changed

.github/workflows/CI.yml

Lines changed: 78 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This file is autogenerated by maturin v1.7.0
22
# To update, run
33
#
4-
# maturin generate-ci github
4+
# maturin generate-ci github -o .github/workflows/CI.yml --pytest
55
#
66
name: CI
77

@@ -45,14 +45,39 @@ jobs:
4545
uses: PyO3/maturin-action@v1
4646
with:
4747
target: ${{ matrix.platform.target }}
48-
args: --release --out dist --find-interpreter
48+
args: --release --out dist
4949
sccache: 'true'
5050
manylinux: auto
5151
- name: Upload wheels
5252
uses: actions/upload-artifact@v4
5353
with:
5454
name: wheels-linux-${{ matrix.platform.target }}
5555
path: dist
56+
- name: pytest
57+
if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
58+
shell: bash
59+
run: |
60+
set -e
61+
python3 -m venv .venv
62+
source .venv/bin/activate
63+
pip install html2text_rs --find-links dist --force-reinstall
64+
pip install pytest
65+
pytest
66+
- name: pytest
67+
if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }}
68+
uses: uraimo/run-on-arch-action@v2
69+
with:
70+
arch: ${{ matrix.platform.target }}
71+
distro: ubuntu22.04
72+
githubToken: ${{ github.token }}
73+
install: |
74+
apt-get update
75+
apt-get install -y --no-install-recommends python3 python3-pip
76+
pip3 install -U pip pytest
77+
run: |
78+
set -e
79+
pip3 install html2text_rs --find-links dist --force-reinstall
80+
pytest
5681
5782
musllinux:
5883
runs-on: ${{ matrix.platform.runner }}
@@ -76,14 +101,44 @@ jobs:
76101
uses: PyO3/maturin-action@v1
77102
with:
78103
target: ${{ matrix.platform.target }}
79-
args: --release --out dist --find-interpreter
104+
args: --release --out dist
80105
sccache: 'true'
81106
manylinux: musllinux_1_2
82107
- name: Upload wheels
83108
uses: actions/upload-artifact@v4
84109
with:
85110
name: wheels-musllinux-${{ matrix.platform.target }}
86111
path: dist
112+
- name: pytest
113+
if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
114+
uses: addnab/docker-run-action@v3
115+
with:
116+
image: alpine:latest
117+
options: -v ${{ github.workspace }}:/io -w /io
118+
run: |
119+
set -e
120+
apk add py3-pip py3-virtualenv
121+
python3 -m virtualenv .venv
122+
source .venv/bin/activate
123+
pip install html2text_rs --no-index --find-links dist --force-reinstall
124+
pip install pytest
125+
pytest
126+
- name: pytest
127+
if: ${{ !startsWith(matrix.platform.target, 'x86') }}
128+
uses: uraimo/run-on-arch-action@v2
129+
with:
130+
arch: ${{ matrix.platform.target }}
131+
distro: alpine_latest
132+
githubToken: ${{ github.token }}
133+
install: |
134+
apk add py3-virtualenv
135+
run: |
136+
set -e
137+
python3 -m virtualenv .venv
138+
source .venv/bin/activate
139+
pip install pytest
140+
pip install html2text_rs --find-links dist --force-reinstall
141+
pytest
87142
88143
windows:
89144
runs-on: ${{ matrix.platform.runner }}
@@ -104,13 +159,23 @@ jobs:
104159
uses: PyO3/maturin-action@v1
105160
with:
106161
target: ${{ matrix.platform.target }}
107-
args: --release --out dist --find-interpreter
162+
args: --release --out dist
108163
sccache: 'true'
109164
- name: Upload wheels
110165
uses: actions/upload-artifact@v4
111166
with:
112167
name: wheels-windows-${{ matrix.platform.target }}
113168
path: dist
169+
- name: pytest
170+
if: ${{ !startsWith(matrix.platform.target, 'aarch64') }}
171+
shell: bash
172+
run: |
173+
set -e
174+
python3 -m venv .venv
175+
source .venv/Scripts/activate
176+
pip install html2text_rs --find-links dist --force-reinstall
177+
pip install pytest
178+
pytest
114179
115180
macos:
116181
runs-on: ${{ matrix.platform.runner }}
@@ -130,13 +195,21 @@ jobs:
130195
uses: PyO3/maturin-action@v1
131196
with:
132197
target: ${{ matrix.platform.target }}
133-
args: --release --out dist --find-interpreter
198+
args: --release --out dist
134199
sccache: 'true'
135200
- name: Upload wheels
136201
uses: actions/upload-artifact@v4
137202
with:
138203
name: wheels-macos-${{ matrix.platform.target }}
139204
path: dist
205+
- name: pytest
206+
run: |
207+
set -e
208+
python3 -m venv .venv
209+
source .venv/bin/activate
210+
pip install html2text_rs --find-links dist --force-reinstall
211+
pip install pytest
212+
pytest
140213
141214
sdist:
142215
runs-on: ubuntu-latest

tests/test_html2text_rs.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import pytest
2+
3+
import html2text_rs
4+
5+
6+
def test_text_markdown():
7+
html = "<h1>Hello World</h1><p>This is a test.</p>"
8+
expected_output = "# Hello World\n\nThis is a test.\n"
9+
result = html2text_rs.text_markdown(html, width=80)
10+
assert (
11+
result == expected_output
12+
), f"\nExpected:\n {expected_output} \nGot:\n {result}"
13+
14+
15+
def test_text_plain():
16+
html = "<h1>Hello World</h1><p>This is a test.</p>"
17+
expected_output = "Hello World\n\nThis is a test.\n"
18+
result = html2text_rs.text_plain(html, width=80)
19+
assert (
20+
result == expected_output
21+
), f"\nExpected:\n {expected_output} \nGot:\n {result}"

0 commit comments

Comments
 (0)