package hudson.plugins.analysis.util;
import static org.junit.Assert.*;
import java.nio.charset.Charset;
import org.junit.Test;
/**
* Tests the class {@link EncodingValidator}.
*
* @author Ulli Hafner
*/
public class EncodingValidatorTest extends AbstractValidatorTest {
/**
* Test some valid encodings.
*/
@Test
public void testValidEncodings() {
assertThatInputIsValid("");
assertThatInputIsValid("UTF8");
assertThatInputIsValid("UTF-8");
assertThatInputIsValid("CP1252");
assertThatInputIsValid("ISO-8859-1");
assertThatInputIsValid("ISO-8859-5");
assertThatInputIsValid("ISO-8859-9");
}
/**
* Test some invalid encodings.
*/
@Test
public void testInvalidEncodings() {
assertThatInputIsInvalid("NIX");
assertThatInputIsInvalid("UTF-9");
assertThatInputIsInvalid("ISO-8859-42");
}
/**
* Verifies that the platform encoding is used if encoding is invalid.
*/
@Test
public void testDefaultEncoding() {
assertEquals("Wrong encoding used", "UTF-8", EncodingValidator.getEncoding("UTF-8"));
String osCharset = Charset.defaultCharset().name();
assertEquals("Wrong encoding used", osCharset, EncodingValidator.getEncoding(""));
assertEquals("Wrong encoding used", osCharset, EncodingValidator.getEncoding(null));
}
@Override
protected Validator createValidator() {
return new EncodingValidator();
}
}