package ru.yandex.qatools.allure.config;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
import static org.junit.Assert.assertEquals;
import static ru.yandex.qatools.allure.config.AllureNamingUtils.isBadXmlCharacter;
/**
* @author Dmitry Baev charlie@yandex-team.ru
* Date: 18.03.15
*/
@RunWith(Parameterized.class)
public class BadXmlCharactersTest {
@Parameterized.Parameter(0)
public char character;
@Parameterized.Parameter(1)
public boolean isBadCharacter;
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(
new Object[]{'\u0020', false},
new Object[]{'\u0019', true},
new Object[]{'\n', false},
new Object[]{'\t', false},
new Object[]{'\r', false},
new Object[]{'а', false},
new Object[]{'я', false},
new Object[]{'А', false},
new Object[]{'Я', false},
new Object[]{'a', false},
new Object[]{'z', false},
new Object[]{'A', false},
new Object[]{'Z', false},
new Object[]{'!', false},
new Object[]{'@', false},
new Object[]{'\uFFFE', true},
new Object[]{'\uFFFF', true}
);
}
@Test
public void shouldDetectBadCharacter() throws Exception {
assertEquals(isBadXmlCharacter(character), isBadCharacter);
}
}