blob: 389359d33f8c761b25455e5cfdde9455a6d96863 [file] [log] [blame]
/*
* Copyright 2008 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.i18n.tools;
import junit.framework.TestCase;
import java.io.File;
import java.io.IOException;
/**
* Testing <code>I18NSync</code>.Cannot be currently run as part of automated
* junit tests due to it's code generation.
*/
public class I18NSyncTest_ extends TestCase {
static final File CLIENT_SOURCE_DIR = new File("../../user/test");
static final String CLIENT_SOURCE_PACKAGE = "com.google.gwt.i18n.client.gen.";
/**
* Test Constant Creation.
*
* @throws IOException
*/
public void testConstantCreation() throws IOException {
String javaName = CLIENT_SOURCE_PACKAGE + "Colors";
// Examine the interface in eclipse for formatting.
I18NSync.createConstantsInterfaceFromClassName(javaName, CLIENT_SOURCE_DIR);
String target = CLIENT_SOURCE_PACKAGE + "SingleConstant";
I18NSync.createConstantsInterfaceFromClassName(target, null);
I18NSync.createConstantsInterfaceFromClassName(target, CLIENT_SOURCE_DIR);
String empty = CLIENT_SOURCE_PACKAGE + "EmptyConstants";
try {
I18NSync.createConstantsInterfaceFromClassName(empty, CLIENT_SOURCE_DIR);
fail("Should have thrown IllegalStateException");
} catch (IllegalStateException e) {
// Should be caught
}
}
public void testConstantsQuoting() throws IOException {
String className = CLIENT_SOURCE_PACKAGE + "TestConstantsQuoting";
I18NSync.createConstantsInterfaceFromClassName(className, CLIENT_SOURCE_DIR);
}
public void testFileIsDirCase() {
try {
I18NSync.createMessagesInterfaceFromClassName(CLIENT_SOURCE_PACKAGE, null);
fail("Should have thrown IOException");
} catch (IOException e) {
assertEquals(-1, e.getMessage().indexOf("directory"));
}
}
public void testMainAccess() {
// Cannot check bad ones due to System.exit(1);
String[] constants = {
CLIENT_SOURCE_PACKAGE + "Shapes", "-out", CLIENT_SOURCE_DIR.getPath()};
I18NSync.main(constants);
String[] messages = {
"-createMessages", CLIENT_SOURCE_PACKAGE + "SingleMessages", "-out",
CLIENT_SOURCE_DIR.getPath()};
I18NSync.main(messages);
}
public void testMessageCreation() throws IOException {
String className = CLIENT_SOURCE_PACKAGE + "TestMessages";
I18NSync.createMessagesInterfaceFromClassName(className, CLIENT_SOURCE_DIR);
}
public void testMessagesQuoting() throws IOException {
String className = CLIENT_SOURCE_PACKAGE + "TestMessagesQuoting";
I18NSync.createMessagesInterfaceFromClassName(className, CLIENT_SOURCE_DIR);
}
public void testMethodRenaming() throws IOException {
String className = CLIENT_SOURCE_PACKAGE + "TestBadKeys";
I18NSync.createConstantsWithLookupInterfaceFromClassName(className,
CLIENT_SOURCE_DIR);
}
}