| /* |
| * 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); |
| } |
| } |