Не проверено, возможно, неправильно, но должно дать вам хороший начальный момент в том, как он должен работать:
*char[] str_split(char* str, char delim) {
int begin = 0;
int end = 0;
int j = 0;
int i = 0;
char *buf[NUM];
while (i < strlen(str)) {
if(*str == delim) {
buf[j] = malloc(sizeof(char) * (end-begin));
strncpy(buf[j], *(str + begin), (end-begin));
begin = end;
j++;
}
end++;
i++;
}
return buf;
}
Вам просто нужно рассчитывать на элемент, который вы хотите проверить внутри - например,
heading = page.find('li#campaign_1 .media-heading.name')
expect(heading).to have_content('Campaign_1')
Другой вариант (более полезный, когда у вас есть несколько вещей для проверки) - это метод within
, который охватывает на что ссылается page
within 'li#campaign_1 .media-heading.name' do
# here page will refer to the .name element
expect(page).to have_content('Campaign_1')
end
Наконец, вы можете просто сделать все это в одном ожидании, используя опции text
или exact_text
expect(page).to have_css('li#campaign_1 .media-heading.name', text: 'Campaign_1')
Объединение нескольких из этих методов вместе дадут
within 'li#campaign_1' do
expect(page).to have_css('.media-heading.name', text: 'Campaign_1'
expect(page).to have_css('.media-heading.country', text: 'United Kingdom')
end