aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py')
-rw-r--r--gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py59
1 files changed, 32 insertions, 27 deletions
diff --git a/gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py b/gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py
index e475e95..67fb241 100644
--- a/gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py
+++ b/gcc/testsuite/gcc.dg/plugin/diagnostic-test-metadata-html.py
@@ -8,12 +8,6 @@ import pytest
def html_tree():
return html_tree_from_env()
-XHTML = 'http://www.w3.org/1999/xhtml'
-ns = {'xhtml': XHTML}
-
-def make_tag(local_name):
- return f'{{{XHTML}}}' + local_name
-
def test_metadata(html_tree):
root = html_tree.getroot ()
assert root.tag == make_tag('html')
@@ -27,10 +21,24 @@ def test_metadata(html_tree):
diag = diag_list.find('xhtml:div', ns)
assert diag is not None
- assert diag.attrib['class'] == 'gcc-diagnostic'
+ assert diag.attrib['class'] == 'alert alert-warning'
+
+ icon = diag.find('xhtml:span', ns)
+ assert icon.attrib['class'] == 'pficon pficon-warning-triangle-o'
+
+ message = diag.find("./xhtml:div[@class='gcc-message']", ns)
+ assert message.attrib['id'] == 'gcc-diag-0-message'
- spans = diag.findall('xhtml:span', ns)
- metadata = spans[1]
+ assert message[0].tag == make_tag('strong')
+ assert message[0].text == 'warning: '
+ assert message[0].tail == " never use '"
+
+ assert message[1].tag == make_tag('span')
+ assert message[1].attrib['class'] == 'gcc-quoted-text'
+ assert message[1].text == 'gets'
+ assert message[1].tail == "' "
+
+ metadata = message[2]
assert metadata.attrib['class'] == 'gcc-metadata'
assert metadata[0].tag == make_tag('span')
assert metadata[0].attrib['class'] == 'gcc-metadata-item'
@@ -48,21 +56,18 @@ def test_metadata(html_tree):
assert metadata[1][0].text == 'STR34-C'
assert metadata[1][0].tail == ']'
- src = diag.find('xhtml:pre', ns)
- assert src.attrib['class'] == 'gcc-annotated-source'
- assert src.text == (
- ' gets (buf);\n'
- ' ^~~~~~~~~~\n')
-
-# For reference, here's the generated HTML:
-"""
- <body>
- <div class="gcc-diagnostic-list">
- <div class="gcc-diagnostic">
- <span class="gcc-message">never use &apos;<span class="gcc-quoted-text">gets</span>&apos;</span>
- <span class="gcc-metadata"><span class="gcc-metadata-item">[<a href="https://cwe.mitre.org/data/definitions/242.html">CWE-242</a>]</span><span class="gcc-metadata-item">[<a href="https://example.com/">STR34-C</a>]</span></span>
- ...etc...
- </div>
- </div>
- </body>
-"""
+ src = diag.find('xhtml:table', ns)
+ assert src.attrib['class'] == 'locus'
+
+ tbody = src.find('xhtml:tbody', ns)
+ assert tbody.attrib['class'] == 'line-span'
+
+ rows = tbody.findall('xhtml:tr', ns)
+
+ quoted_src_tr = rows[0]
+ assert_quoted_line(quoted_src_tr,
+ ' 10', ' gets (buf);')
+
+ annotation_tr = rows[1]
+ assert_annotation_line(annotation_tr,
+ ' ^~~~~~~~~~')