diff options
Diffstat (limited to 'tests/admin_changelist/tests.py')
| -rw-r--r-- | tests/admin_changelist/tests.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index 128fbb6aac..bab988af23 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -1910,3 +1910,23 @@ class SeleniumTests(AdminSeleniumTestCase): "[data-filter-title='number of members']", ).get_attribute("open") ) + + def test_collapse_filter_with_unescaped_title(self): + from selenium.webdriver.common.by import By + + self.admin_login(username="super", password="secret") + changelist_url = reverse("admin:admin_changelist_proxyuser_changelist") + self.selenium.get(self.live_server_url + changelist_url) + # Title is escaped. + filter_title = self.selenium.find_element( + By.CSS_SELECTOR, "[data-filter-title='It\\'s OK']" + ) + filter_title.find_element(By.CSS_SELECTOR, "summary").click() + self.assertFalse(filter_title.get_attribute("open")) + # Filter is in the same state after refresh. + self.selenium.refresh() + self.assertFalse( + self.selenium.find_element( + By.CSS_SELECTOR, "[data-filter-title='It\\'s OK']" + ).get_attribute("open") + ) |
