diff --git a/changedetectionio/tests/test_xpath_selector.py b/changedetectionio/tests/test_xpath_selector.py
index 59abb41e..7ae565bb 100644
--- a/changedetectionio/tests/test_xpath_selector.py
+++ b/changedetectionio/tests/test_xpath_selector.py
@@ -270,3 +270,45 @@ def test_check_with_prefix_include_filters(client, live_server):
assert b"Some text that will change" not in res.data #not in selector
client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
+def test_various_rules(client, live_server):
+ # Just check these don't error
+ live_server_setup(live_server)
+ with open("test-datastore/endpoint-content.txt", "w") as f:
+ f.write("""
+
+ Some initial text
+ Which is across multiple lines
+
+ So let's see what happens.
+ Some text thats the same
+ Some text that will change
+ some linky
+ another some linky
+
+
+ """)
+ test_url = url_for('test_endpoint', _external=True)
+ res = client.post(
+ url_for("import_page"),
+ data={"urls": test_url},
+ follow_redirects=True
+ )
+ assert b"1 Imported" in res.data
+ wait_for_all_checks(client)
+
+
+ for r in ['//div', '//a', 'xpath://div', 'xpath://a']:
+ res = client.post(
+ url_for("edit_page", uuid="first"),
+ data={"include_filters": r,
+ "url": test_url,
+ "tags": "",
+ "headers": "",
+ 'fetch_backend': "html_requests"},
+ follow_redirects=True
+ )
+ assert b"Updated watch." in res.data
+ wait_for_all_checks(client)
+
+ res = client.get(url_for("index"))
+ assert b'fetch-error' not in res.data, f"Should not see errors after '{r} filter"