robotframework-testdoc 0.2.4__tar.gz → 0.2.6__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.

Potentially problematic release.


This version of robotframework-testdoc might be problematic. Click here for more details.

Files changed (47) hide show
  1. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/PKG-INFO +1 -1
  2. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/pyproject.toml +1 -1
  3. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/robotframework_testdoc.egg-info/PKG-INFO +1 -1
  4. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/robotframework_testdoc.egg-info/SOURCES.txt +1 -1
  5. {robotframework_testdoc-0.2.4/src/testdoc/html_rendering → robotframework_testdoc-0.2.6/src/testdoc/html/rendering}/render.py +6 -6
  6. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/templates/v2/jinja_template_03.html +1 -5
  7. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/parser/modifier/sourceprefixmodifier.py +1 -1
  8. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/parser/testcaseparser.py +16 -7
  9. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/testdoc.py +1 -1
  10. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/.github/workflows/build.yml +0 -0
  11. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/.github/workflows/release.yml +0 -0
  12. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/.gitignore +0 -0
  13. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/LICENSE +0 -0
  14. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/README.md +0 -0
  15. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/atest/config/config_with_colors.toml +0 -0
  16. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/atest/config/testdoc.toml +0 -0
  17. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/atest/config_pyproject/example_pyproject.toml +0 -0
  18. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/atest/test_cli.py +0 -0
  19. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/atest/test_cli.robot +0 -0
  20. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/docs/html_v1_common.png +0 -0
  21. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/docs/html_v2_root.png +0 -0
  22. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/docs/html_v2_suitefile.png +0 -0
  23. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/docs/style_blue.png +0 -0
  24. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/docs/style_dark.png +0 -0
  25. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/docs/style_robot.png +0 -0
  26. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/setup.cfg +0 -0
  27. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/robotframework_testdoc.egg-info/dependency_links.txt +0 -0
  28. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/robotframework_testdoc.egg-info/entry_points.txt +0 -0
  29. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/robotframework_testdoc.egg-info/requires.txt +0 -0
  30. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/robotframework_testdoc.egg-info/top_level.txt +0 -0
  31. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/__init__.py +0 -0
  32. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/__main__.py +0 -0
  33. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/cli.py +0 -0
  34. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/default.toml +0 -0
  35. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/helper/cliargs.py +0 -0
  36. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/helper/datetimeconverter.py +0 -0
  37. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/helper/logger.py +0 -0
  38. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/helper/pathconverter.py +0 -0
  39. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/helper/toml_reader.py +0 -0
  40. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/images/robotframework.svg +0 -0
  41. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/templates/v1/jinja_template_01.html +0 -0
  42. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/templates/v1/jinja_template_02.html +0 -0
  43. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/themes/__init__.py +0 -0
  44. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/themes/theme_config.py +0 -0
  45. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/html/themes/themes.py +0 -0
  46. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/parser/modifier/suitefilemodifier.py +0 -0
  47. {robotframework_testdoc-0.2.4 → robotframework_testdoc-0.2.6}/src/testdoc/parser/testsuiteparser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: robotframework-testdoc
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: A CLI Tool to generate a Test Documentation for your RobotFramework Test Scripts.
5
5
  Author-email: Marvin Klerx <marvinklerx20@gmail.com>
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "robotframework-testdoc"
7
- version = "0.2.4"
7
+ version = "0.2.6"
8
8
  description = "A CLI Tool to generate a Test Documentation for your RobotFramework Test Scripts."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: robotframework-testdoc
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: A CLI Tool to generate a Test Documentation for your RobotFramework Test Scripts.
5
5
  Author-email: Marvin Klerx <marvinklerx20@gmail.com>
6
6
  License: Apache-2.0
@@ -32,13 +32,13 @@ src/testdoc/helper/logger.py
32
32
  src/testdoc/helper/pathconverter.py
33
33
  src/testdoc/helper/toml_reader.py
34
34
  src/testdoc/html/images/robotframework.svg
35
+ src/testdoc/html/rendering/render.py
35
36
  src/testdoc/html/templates/v1/jinja_template_01.html
36
37
  src/testdoc/html/templates/v1/jinja_template_02.html
37
38
  src/testdoc/html/templates/v2/jinja_template_03.html
38
39
  src/testdoc/html/themes/__init__.py
39
40
  src/testdoc/html/themes/theme_config.py
40
41
  src/testdoc/html/themes/themes.py
41
- src/testdoc/html_rendering/render.py
42
42
  src/testdoc/parser/testcaseparser.py
43
43
  src/testdoc/parser/testsuiteparser.py
44
44
  src/testdoc/parser/modifier/sourceprefixmodifier.py
@@ -1,10 +1,10 @@
1
1
  from jinja2 import Environment, FileSystemLoader
2
2
  import os
3
3
 
4
- from ..html.themes.theme_config import ThemeConfig
5
- from ..helper.cliargs import CommandLineArguments
6
- from ..helper.datetimeconverter import DateTimeConverter
7
- from ..helper.logger import Logger
4
+ from ...html.themes.theme_config import ThemeConfig
5
+ from ...helper.cliargs import CommandLineArguments
6
+ from ...helper.datetimeconverter import DateTimeConverter
7
+ from ...helper.logger import Logger
8
8
 
9
9
  class TestDocHtmlRendering():
10
10
 
@@ -17,11 +17,11 @@ class TestDocHtmlRendering():
17
17
  if self.args.html_template == "v1":
18
18
  self.HTML_TEMPLATE_VERSION = self.args.html_template
19
19
  self.HTML_TEMPLATE_NAME = "jinja_template_01.html"
20
- self.TEMPLATE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "html", "templates", self.HTML_TEMPLATE_VERSION)
20
+ self.TEMPLATE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "templates", self.HTML_TEMPLATE_VERSION)
21
21
  elif self.args.html_template == "v2":
22
22
  self.HTML_TEMPLATE_VERSION = self.args.html_template
23
23
  self.HTML_TEMPLATE_NAME = "jinja_template_03.html"
24
- self.TEMPLATE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "html", "templates", self.HTML_TEMPLATE_VERSION)
24
+ self.TEMPLATE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "templates", self.HTML_TEMPLATE_VERSION)
25
25
  else:
26
26
  raise ValueError(f"CLI Argument 'html_template' got value '{self.args.html_template}' - value not known!")
27
27
 
@@ -77,11 +77,7 @@
77
77
  <tr>
78
78
  <td style="width: 10%; font-weight: bold;">🏷 Tags:</td>
79
79
  <td style="text-align: left;">
80
- {% if test.tags and test.tags is string %}
81
- {{ test.tags }}
82
- {% else %}
83
- {{ test.tags | join(', ') }}
84
- {% endif %}
80
+ {{ test.tags | join(', ') }}
85
81
  </td>
86
82
  </tr>
87
83
  {% endif %}
@@ -85,7 +85,7 @@ class GitLabModifier():
85
85
  git_root = self._get_git_root(file_path)
86
86
  git_branch = self._get_git_branch(git_root)
87
87
  if not git_root:
88
- return "GitLink error"
88
+ return "Unable to fetch GitLab URL!"
89
89
  rel_path = os.path.relpath(file_path, git_root).replace(os.sep, "/")
90
90
  return prefix.rstrip("/") + "/-/blob/" + git_branch + "/" + rel_path
91
91
 
@@ -19,7 +19,7 @@ class TestCaseParser():
19
19
  "name": test.name,
20
20
  "doc": "<br>".join(line.replace("\\n","") for line in test.doc.splitlines()
21
21
  if line.strip()) if test.doc else "No Test Case Documentation Available",
22
- "tags": test.tags if test.tags else "No Tags Configured",
22
+ "tags": test.tags if test.tags else ["No Tags Configured"],
23
23
  "source": str(test.source),
24
24
  "keywords": self._keyword_parser(test.body)
25
25
  }
@@ -47,7 +47,7 @@ class TestCaseParser():
47
47
 
48
48
  # Fallback in case of no keywords
49
49
  if len(_keyword_object) == 0:
50
- return "No Keyword Calls in Test"
50
+ return ["No Keyword Calls in Test"]
51
51
  return _keyword_object
52
52
 
53
53
  def _handle_keyword_types(self, kw: Keyword, indent: int = 0):
@@ -105,6 +105,19 @@ class TestCaseParser():
105
105
  result.extend(self._handle_keyword_types(subkw, indent=indent+1))
106
106
  result.append(f"{_indent}END")
107
107
 
108
+ # GROUP loop
109
+ elif kw_type == "GROUP":
110
+ header = f"{_indent}GROUP"
111
+ if not kw.name == "":
112
+ header += f"{_sd}{kw.name}"
113
+ if hasattr(kw, 'condition') and kw.condition:
114
+ header += f" {kw.condition}"
115
+ result.append(header)
116
+ if hasattr(kw, 'body'):
117
+ for subkw in kw.body:
118
+ result.extend(self._handle_keyword_types(subkw, indent=indent+1))
119
+ result.append(f"{_indent}END")
120
+
108
121
  # WHILE loop
109
122
  elif kw_type == "WHILE":
110
123
  header = f"{_indent}WHILE"
@@ -134,13 +147,9 @@ class TestCaseParser():
134
147
  elif kw_type in ("BREAK", "CONTINUE", "RETURN", "ERROR"):
135
148
  entry = f"{_indent}{kw_type}"
136
149
  if hasattr(kw, 'values') and kw.values:
137
- entry += f" {' '.join(kw.values)}"
150
+ entry += f" {_sd.join(kw.values)}"
138
151
  result.append(entry)
139
152
 
140
- # Other types
141
- elif kw_type in ("COMMENT", "EMPTY"):
142
- pass
143
-
144
153
  # Unknown types
145
154
  elif hasattr(kw, 'body'):
146
155
  for subkw in kw.body:
@@ -1,6 +1,6 @@
1
1
  from .helper.pathconverter import PathConverter
2
2
  from .parser.testsuiteparser import RobotSuiteParser
3
- from .html_rendering.render import TestDocHtmlRendering
3
+ from .html.rendering.render import TestDocHtmlRendering
4
4
  from .parser.modifier.suitefilemodifier import SuiteFileModifier
5
5
 
6
6
  class TestDoc():