robotframework-testdoc 0.8.0__tar.gz → 0.8.1a2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,8 +18,13 @@ oc_output.html
18
18
  atest/testdoc_output/**
19
19
  atest/mkdocs_test/**
20
20
  atest/mkdocs_test_perf/**
21
+ atest/testdoc_output_perf.html
21
22
  atest/mkdocs_test_custom/**
22
23
  docs/mkdocs/site/**
23
24
  .DS_Store
24
25
  .vscode/mcp.json
25
26
  .vscode/settings.json
27
+ styles.css
28
+ app.js
29
+ atest/output_testdoc_custom_template.pdf
30
+ atest/output_testdoc.pdf
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: robotframework-testdoc
3
- Version: 0.8.0
3
+ Version: 0.8.1a2
4
4
  Summary: A CLI Tool to generate a Test Documentation for your RobotFramework Test Scripts.
5
5
  Project-URL: Repository, https://github.com/MarvKler/robotframework-testdoc
6
6
  Project-URL: Issues, https://github.com/MarvKler/robotframework-testdoc/issues
@@ -94,13 +94,16 @@ check = "mypy --install-types --non-interactive {args:src/Tables tests}"
94
94
  [tool.hatch.envs.dev]
95
95
  dependencies = [
96
96
  "ruff",
97
- "pytest"
97
+ "pytest",
98
+ "robotframework-tablelibrary"
98
99
  ]
99
100
  [tool.hatch.envs.dev.scripts]
100
101
  lint = "ruff check --force-exclude"
101
102
  format = "ruff format --force-exclude"
102
103
  atest = "pytest atest/acceptance"
103
104
  perftest = "pytest atest/performance"
105
+ perftest-mkdocs = "pytest atest/performance/test_performance.py"
106
+ perftest-html = "pytest atest/performance/test_performance_html.py"
104
107
  alltest = "pytest atest"
105
108
 
106
109
 
@@ -89,6 +89,16 @@
89
89
 
90
90
  <!-- SIDEBAR -->
91
91
  <aside class="nav" id="sidebar">
92
+ <nav class="primary-nav" aria-label="Main navigation">
93
+ <button class="primary-nav-item" id="sidebarDashboard" type="button">
94
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 13h6V4H4v9Zm0 7h6v-5H4v5Zm10 0h6V11h-6v9Zm0-16v5h6V4h-6Z"/></svg>
95
+ <span>Dashboard</span>
96
+ </button>
97
+ <button class="primary-nav-item active" id="sidebarRepository" type="button">
98
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 6.5A1.5 1.5 0 0 1 4.5 5h4.379a1.5 1.5 0 0 1 1.06.44L11 6.5H19.5A1.5 1.5 0 0 1 21 8v9.5A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-11Z"/></svg>
99
+ <span>Test Case Repository</span>
100
+ </button>
101
+ </nav>
92
102
  <div class="nav-tree">
93
103
  <ul class="tree-list">
94
104
  {# Root suite entry #}
@@ -164,25 +174,6 @@
164
174
 
165
175
  <!-- MAIN CONTENT -->
166
176
  <main class="content" id="mainContent">
167
- {# ------------------------------------------------------------
168
- PoC: Keyword documentation metadata
169
-
170
- We keep the lexer + Pygments highlighting unchanged.
171
- Instead, we embed resolved keyword docs (already available in the
172
- parsed model) as NDJSON per test block. The frontend can then add
173
- a small info button next to each keyword call line.
174
- ------------------------------------------------------------ #}
175
- {% macro emit_kw_doc_ndjson(items) %}
176
- {% for item in (items or []) %}
177
- {% if item.type == 'KEYWORD' and item.keyword_doc %}
178
- {{ {'name': item.name, 'owner': item.keyword_owner, 'doc': item.keyword_doc, 'args': item.args} | dump_json }}
179
- {% endif %}
180
- {% if item.body %}
181
- {{ emit_kw_doc_ndjson(item.body) }}
182
- {% endif %}
183
- {% endfor %}
184
- {% endmacro %}
185
-
186
177
  {% macro render_suite_block(s, level) %}
187
178
  <section class="suite-block" data-suite-id="{{ s.id }}" data-suite-name="{{ s.name }}" data-suite-depth="{{ level }}" data-test-count="{{ s.test_count }}">
188
179
 
@@ -254,14 +245,6 @@
254
245
  <span class="section-title">Suite Setup &amp; Teardown</span>
255
246
  <span class="section-subtitle">Lifecycle keywords for this suite</span>
256
247
  </div>
257
- <script type="application/x-ndjson" class="kw-doc-ndjson" data-test-target="suite-fixture-{{ s.id }}">
258
- {% if s.setup and s.setup.keyword_doc %}
259
- {{ {'name': s.setup.name, 'owner': s.setup.keyword_owner, 'doc': s.setup.keyword_doc, 'args': s.setup.args, 'fixture': 'setup'} | dump_json }}
260
- {% endif %}
261
- {% if s.teardown and s.teardown.keyword_doc %}
262
- {{ {'name': s.teardown.name, 'owner': s.teardown.keyword_owner, 'doc': s.teardown.keyword_doc, 'args': s.teardown.args, 'fixture': 'teardown'} | dump_json }}
263
- {% endif %}
264
- </script>
265
248
  <div class="code-wrapper">
266
249
  <button class="code-toggle">
267
250
  <span>Show / Hide Code</span>
@@ -371,15 +354,6 @@
371
354
  <div class="test-subsection">
372
355
  <div class="kv-label">Body</div>
373
356
  {% if test.body or test.setup or test.teardown %}
374
- <script type="application/x-ndjson" class="kw-doc-ndjson" data-test-target="test-{{ s.id }}-{{ loop.index0 }}">
375
- {% if test.setup and test.setup.keyword_doc %}
376
- {{ {'name': test.setup.name, 'owner': test.setup.keyword_owner, 'doc': test.setup.keyword_doc, 'args': test.setup.args, 'fixture': 'setup'} | dump_json }}
377
- {% endif %}
378
- {% if test.teardown and test.teardown.keyword_doc %}
379
- {{ {'name': test.teardown.name, 'owner': test.teardown.keyword_owner, 'doc': test.teardown.keyword_doc, 'args': test.teardown.args, 'fixture': 'teardown'} | dump_json }}
380
- {% endif %}
381
- {{ emit_kw_doc_ndjson(test.body) }}
382
- </script>
383
357
  <div class="code-wrapper">
384
358
  <button class="code-toggle">
385
359
  <span>Show / Hide Code</span>