blob: 8811f06da4aca1b1aea2a1ed6d6b8ba65832942c [file] [log] [blame]
/*
* Copyright 2015 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.emultest.java.nio.charset;
import com.google.gwt.emultest.java.util.EmulTestBase;
import java.nio.charset.Charset;
import java.nio.charset.IllegalCharsetNameException;
import java.nio.charset.UnsupportedCharsetException;
/**
* Unit test for the {@link java.nio.charset.Charset} emulated class.
*/
public class CharsetTest extends EmulTestBase {
public void testIso88591() {
assertEquals("ISO-8859-1", Charset.forName("ISO-8859-1").name());
assertEquals("ISO-8859-1", Charset.forName("iso-8859-1").name());
}
public void testUtf8() {
assertEquals("UTF-8", Charset.forName("UTF-8").name());
assertEquals("UTF-8", Charset.forName("utf-8").name());
}
public void testForName_null() {
try {
Charset.forName(null);
fail();
} catch (IllegalArgumentException expected) {
}
}
public void testForName_illegal() {
try {
Charset.forName("");
fail();
} catch (IllegalCharsetNameException | UnsupportedCharsetException expected) {
}
try {
Charset.forName("!@#$");
fail();
} catch (IllegalCharsetNameException | UnsupportedCharsetException expected) {
}
try {
Charset.forName("_UTF_8");
fail();
} catch (IllegalCharsetNameException | UnsupportedCharsetException expected) {
}
try {
Charset.forName("UTF_8#");
fail();
} catch (IllegalCharsetNameException | UnsupportedCharsetException expected) {
}
}
public void testForName_unsupported() {
try {
Charset.forName("qwer");
fail();
} catch (UnsupportedCharsetException expected) {
}
try {
Charset.forName("A:.+-:_Aa0");
fail();
} catch (UnsupportedCharsetException expected) {
}
}
}