diff --git a/src/devtools/components/VuexHistory.vue b/src/devtools/components/VuexHistory.vue index 52a4130f7..25e164904 100644 --- a/src/devtools/components/VuexHistory.vue +++ b/src/devtools/components/VuexHistory.vue @@ -88,6 +88,7 @@ export default { } } // simple case-insensitve search + this.invalidRegex = false return new RegExp(this.escapeStringForRegExp(this.userInputFilter), 'i') }, filteredHistory () { @@ -119,7 +120,6 @@ export default { }, clearFilter () { this.userInputFilter = '' - this.invalidRegex = false }, escapeStringForRegExp (str) { return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&') diff --git a/test/specs/test.js b/test/specs/test.js index 205a67a83..57a74242c 100644 --- a/test/specs/test.js +++ b/test/specs/test.js @@ -58,6 +58,21 @@ module.exports = { .assert.containsText('.vuex-state-inspector', 'type: "DECREMENT"') .assert.containsText('.vuex-state-inspector', 'count: 1') + // filtering + .setValue('.search-box', 'inc') + .assert.count('.history .entry', 3) + .click('.buttons a:last-of-type') + .assert.value('.search-box', '') + .setValue('.search-box', '/dec/i') + .assert.count('.history .entry', 2) + .clearValue('.search-box') + .setValue('.search-box', '/dec)/i') + .waitForElementVisible('.invalid-regex', 100) + .assert.count('.history .entry', 4) + .setValue('.search-box', '\b\b\b') + .waitForElementNotVisible('.invalid-regex', 100) + .click('.buttons a:last-of-type') + // time travel .click('.history .entry:nth-child(3)') .assert.cssClassPresent('.history .entry:nth-child(3)', 'active')