Package org.vaadin.spring.i18n

Source Code of org.vaadin.spring.i18n.TranslatorTest

/*
* Copyright 2014 The original authors
*
* 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 org.vaadin.spring.i18n;

import com.vaadin.ui.Label;
import com.vaadin.ui.TextField;
import org.junit.Test;
import org.springframework.context.MessageSource;
import org.vaadin.spring.i18n.support.ComponentProperties;

import java.util.Locale;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
* Test case for {@link org.vaadin.spring.i18n.Translator}.
*
* @author Petter Holmström (petter@vaadin.com)
*/
public class TranslatorTest {

    @TranslatedProperty(property = ComponentProperties.CAPTION, key = "privateLabel.caption")
    private Label privateLabel = new Label();

    @TranslatedProperty(property = ComponentProperties.CAPTION, key = "publicLabel.caption")
    public Label publicLabel = new Label();

    @TranslatedProperties({
            @TranslatedProperty(property = ComponentProperties.CAPTION, key = "textField.caption"),
            @TranslatedProperty(property = ComponentProperties.DESCRIPTION, key = "textField.description")
    })
    private TextField textField = new TextField();

    private Label methodLabel = new Label();

    private TextField methodTextField = new TextField();

    @TranslatedProperty(property = ComponentProperties.CAPTION, key = "methodLabel.caption")
    public Label getMethodLabel() {
        return methodLabel;
    }

    @TranslatedProperties({
            @TranslatedProperty(property = ComponentProperties.CAPTION, key = "methodTextField.caption"),
            @TranslatedProperty(property = ComponentProperties.DESCRIPTION, key = "methodTextField.description")
    })
    public TextField getMethodTextField() {
        return methodTextField;
    }

    @Test
    public void testTranslate() {
        MessageSource messageSource = mock(MessageSource.class);
        when(messageSource.getMessage("privateLabel.caption", null, "", Locale.ENGLISH)).thenReturn("Private Label Caption");
        when(messageSource.getMessage("publicLabel.caption", null, "", Locale.ENGLISH)).thenReturn("Public Label Caption");
        when(messageSource.getMessage("textField.caption", null, "", Locale.ENGLISH)).thenReturn("Text Field Caption");
        when(messageSource.getMessage("textField.description", null, "", Locale.ENGLISH)).thenReturn("Text Field Description");
        when(messageSource.getMessage("methodLabel.caption", null, "", Locale.ENGLISH)).thenReturn("Method Label Caption");
        when(messageSource.getMessage("methodTextField.caption", null, "", Locale.ENGLISH)).thenReturn("Method Text Field Caption");
        when(messageSource.getMessage("methodTextField.description", null, "", Locale.ENGLISH)).thenReturn("Method Text Field Description");

        new Translator(this).translate(Locale.ENGLISH, messageSource);

        assertEquals("Private Label Caption", privateLabel.getCaption());
        assertEquals("Public Label Caption", publicLabel.getCaption());
        assertEquals("Text Field Caption", textField.getCaption());
        assertEquals("Text Field Description", textField.getDescription());
        assertEquals("Method Label Caption", methodLabel.getCaption());
        assertEquals("Method Text Field Caption", methodTextField.getCaption());
        assertEquals("Method Text Field Description", methodTextField.getDescription());
    }


}
TOP

Related Classes of org.vaadin.spring.i18n.TranslatorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.