From 093e41b8dc2bcd0285efdab29e739f3bd252bb86 Mon Sep 17 00:00:00 2001
From: aireilly <aireilly@redhat.com>
Date: Wed, 26 Apr 2023 17:08:55 +0100
Subject: [PATCH] adds rules to catch broken ids

---
 .vale/fixtures/AsciiDoc/ClosedAttributeBlocks/.vale.ini  | 5 +++++
 .../AsciiDoc/ClosedAttributeBlocks/testinvalid.adoc      | 9 +++++++++
 .../AsciiDoc/ClosedAttributeBlocks/testvalid.adoc        | 4 ++++
 .vale/fixtures/AsciiDoc/ClosedIdQuotes/.vale.ini         | 5 +++++
 .vale/fixtures/AsciiDoc/ClosedIdQuotes/testinvalid.adoc  | 7 +++++++
 .vale/fixtures/AsciiDoc/ClosedIdQuotes/testvalid.adoc    | 4 ++++
 .vale/styles/AsciiDoc/ClosedAttributeBlocks.yml          | 7 +++++++
 .vale/styles/AsciiDoc/ClosedIdQuotes.yml                 | 7 +++++++
 8 files changed, 48 insertions(+)
 create mode 100644 .vale/fixtures/AsciiDoc/ClosedAttributeBlocks/.vale.ini
 create mode 100644 .vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testinvalid.adoc
 create mode 100644 .vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testvalid.adoc
 create mode 100644 .vale/fixtures/AsciiDoc/ClosedIdQuotes/.vale.ini
 create mode 100644 .vale/fixtures/AsciiDoc/ClosedIdQuotes/testinvalid.adoc
 create mode 100644 .vale/fixtures/AsciiDoc/ClosedIdQuotes/testvalid.adoc
 create mode 100644 .vale/styles/AsciiDoc/ClosedAttributeBlocks.yml
 create mode 100644 .vale/styles/AsciiDoc/ClosedIdQuotes.yml

diff --git a/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/.vale.ini b/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/.vale.ini
new file mode 100644
index 0000000..c8fc96d
--- /dev/null
+++ b/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/.vale.ini
@@ -0,0 +1,5 @@
+; Vale configuration file to test the `ClosedAttributeBlocks` rule
+StylesPath = ../../../styles
+MinAlertLevel = error
+[*.adoc]
+AsciiDoc.ClosedAttributeBlocks = YES
diff --git a/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testinvalid.adoc b/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testinvalid.adoc
new file mode 100644
index 0000000..f22a517
--- /dev/null
+++ b/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testinvalid.adoc
@@ -0,0 +1,9 @@
+//vale-fixture
+:_content-type: ASSEMBLY
+[id="rosa-getting-started
+= Comprehensive guide to getting started with {product-title}
+
+//vale-fixture
+:_content-type: ASSEMBLY
+[id="rosa-getting-started_{context}
+= Another guide to getting started
diff --git a/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testvalid.adoc b/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testvalid.adoc
new file mode 100644
index 0000000..b342f75
--- /dev/null
+++ b/.vale/fixtures/AsciiDoc/ClosedAttributeBlocks/testvalid.adoc
@@ -0,0 +1,4 @@
+//vale-fixture
+:_content-type: ASSEMBLY
+[id="rosa-getting-started_{context}"]
+= Comprehensive guide to getting started with {product-title}
diff --git a/.vale/fixtures/AsciiDoc/ClosedIdQuotes/.vale.ini b/.vale/fixtures/AsciiDoc/ClosedIdQuotes/.vale.ini
new file mode 100644
index 0000000..84c9fba
--- /dev/null
+++ b/.vale/fixtures/AsciiDoc/ClosedIdQuotes/.vale.ini
@@ -0,0 +1,5 @@
+; Vale configuration file to test the `ClosedIdQuotes` rule
+StylesPath = ../../../styles
+MinAlertLevel = error
+[*.adoc]
+AsciiDoc.ClosedIdQuotes = YES
diff --git a/.vale/fixtures/AsciiDoc/ClosedIdQuotes/testinvalid.adoc b/.vale/fixtures/AsciiDoc/ClosedIdQuotes/testinvalid.adoc
new file mode 100644
index 0000000..7d6957f
--- /dev/null
+++ b/.vale/fixtures/AsciiDoc/ClosedIdQuotes/testinvalid.adoc
@@ -0,0 +1,7 @@
+//vale-fixture
+[id="rosa-getting-started_{context}]
+= Comprehensive guide to getting started with {product-title}
+
+//vale-fixture
+[id="rosa-getting-started]
+= Another guide to getting started
diff --git a/.vale/fixtures/AsciiDoc/ClosedIdQuotes/testvalid.adoc b/.vale/fixtures/AsciiDoc/ClosedIdQuotes/testvalid.adoc
new file mode 100644
index 0000000..b342f75
--- /dev/null
+++ b/.vale/fixtures/AsciiDoc/ClosedIdQuotes/testvalid.adoc
@@ -0,0 +1,4 @@
+//vale-fixture
+:_content-type: ASSEMBLY
+[id="rosa-getting-started_{context}"]
+= Comprehensive guide to getting started with {product-title}
diff --git a/.vale/styles/AsciiDoc/ClosedAttributeBlocks.yml b/.vale/styles/AsciiDoc/ClosedAttributeBlocks.yml
new file mode 100644
index 0000000..d6689a2
--- /dev/null
+++ b/.vale/styles/AsciiDoc/ClosedAttributeBlocks.yml
@@ -0,0 +1,7 @@
+---
+extends: existence
+scope: raw
+level: error
+message: "Attribute block is not closed."
+raw:
+  - '(?<!\/\/)\[.*(?<!\])\n'
diff --git a/.vale/styles/AsciiDoc/ClosedIdQuotes.yml b/.vale/styles/AsciiDoc/ClosedIdQuotes.yml
new file mode 100644
index 0000000..c706a8d
--- /dev/null
+++ b/.vale/styles/AsciiDoc/ClosedIdQuotes.yml
@@ -0,0 +1,7 @@
+---
+extends: existence
+scope: raw
+level: error
+message: "Quoted ID value is not closed."
+raw:
+  - '(?<!\/\/)\[id\=\".*(?<!\")\]'