Как использовать шаблонный литерал в регулярном выражении? - PullRequest
0 голосов
/ 15 мая 2019

Я пишу тест, который нажимает на определенные фильтры, и я замечаю некоторые расхождения между браузерами.Например, в основных браузерах (Chrome, Firefox, Safari) есть флажки, отображаемые именно в этом формате: шашки, сыр, сальса, масло.Когда я запускаю тест на IE11, эти строки состоят из строчных букв, и, поскольку это строчные буквы, мой тест не пройден.Для борьбы с этим я надеялся использовать регулярные выражения.Функция, которую я использую для установки этих флажков, является многоразовой.

Я озадачен, потому что я пытаюсь передать строку в регулярном выражении, но тест не пройден.Затем я создал шаблонный литерал, и кто-то таким образом передал строку в регулярном выражении, и тест все равно не прошел.У меня вопрос, есть ли более разумный способ передать строковую переменную в регулярное выражение?

FilterPage выглядит так:

     export default class OrderHistory {
      constructor() {
          this.filter = Selector(
                ".filterCheckbox"

}

async selectFilter(text) {
    await t.click(this.filter.withText(`/${text}`/i));

}

Тестовая страница выглядит следующим образом:

 test(“click the cheese filter”, async t => {
   const cheeseFilter = Cheese;

   await filterPage.selectFilter(cheeseFilter);

});

1 Ответ

1 голос
/ 15 мая 2019

RegExp конструктор может выполнить эту работу, если вам нужно динамически построить регулярное выражение, поскольку он также может принять строку .

new RegExp(text, 'i');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...