/******************************************************************************* * Copyright (c) 2012 EclipseSource and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * EclipseSource - initial API and implementation ******************************************************************************/ package com.eclipsesource.tabris.interaction; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import org.junit.Test; import com.eclipsesource.tabris.interaction.LaunchOptions.App; public class MailOptionsTest { @Test( expected = IllegalArgumentException.class ) public void testFailsWithoutTo() { new MailOptions( null ); } @Test( expected = IllegalArgumentException.class ) public void testFailsWithEmtpyTo() { new MailOptions( "" ); } @Test public void testWithoutTo() { MailOptions mailOptions = new MailOptions(); assertSame( App.MAIL, mailOptions.getApp() ); } @Test public void testWithTo() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); assertSame( App.MAIL, mailOptions.getApp() ); assertEquals( "foo@bar.com", mailOptions.getOptions().get( "to" ) ); } @Test public void testWithToAndSubject() { MailOptions mailOptions = new MailOptions( "foo@bar.com", "foo" ); assertSame( App.MAIL, mailOptions.getApp() ); assertEquals( "foo@bar.com", mailOptions.getOptions().get( "to" ) ); assertEquals( "foo", mailOptions.getOptions().get( "subject" ) ); } @Test( expected = IllegalArgumentException.class ) public void testWithToAndSubjectFailsWithoutSubject() { new MailOptions( "foo@bar.com", null ); } @Test public void testWithToAndSubjectDoesNotFailWithEmptySubject() { new MailOptions( "foo@bar.com", "" ); } @Test public void testWithToAndSubjectAndBody() { MailOptions mailOptions = new MailOptions( "foo@bar.com", "foo" , "bar" ); assertSame( App.MAIL, mailOptions.getApp() ); assertEquals( "foo@bar.com", mailOptions.getOptions().get( "to" ) ); assertEquals( "foo", mailOptions.getOptions().get( "subject" ) ); assertEquals( "bar", mailOptions.getOptions().get( "body" ) ); } @Test( expected = IllegalArgumentException.class ) public void testWithToAndSubjectAndBodyFailsWithoutSubject() { new MailOptions( "foo@bar.com", "", null ); } @Test public void testWithToAndSubjectAndBodyDoesNotFailWithEmptySubject() { new MailOptions( "foo@bar.com", "", "" ); } @Test public void testSetSubject() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setSubject( "foo" ); assertEquals( "foo", mailOptions.getOptions().get( "subject" ) ); } @Test public void testSetSubjectWithEmptySubject() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setSubject( "" ); assertEquals( "", mailOptions.getOptions().get( "subject" ) ); } @Test( expected = IllegalArgumentException.class ) public void testSetSubjectFailsWithoutSubject() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setSubject( null ); } @Test public void testSetBody() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setBody( "foo" ); assertEquals( "foo", mailOptions.getOptions().get( "body" ) ); } @Test public void testSetBodyWithEmptyBody() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setBody( "" ); assertEquals( "", mailOptions.getOptions().get( "body" ) ); } @Test( expected = IllegalArgumentException.class ) public void testSetBodyFailsWithoutBody() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setBody( null ); } @Test public void testSetCC() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setCC( "bar@foo.com" ); assertEquals( "bar@foo.com", mailOptions.getOptions().get( "cc" ) ); } @Test( expected = IllegalArgumentException.class ) public void testSetCCFailsWithEmptyCC() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setCC( "" ); } @Test( expected = IllegalArgumentException.class ) public void testSetCCFailsWithoutCC() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setCC( null ); } @Test public void testSetUseHtml() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setUseHtml( true ); assertEquals( Boolean.TRUE, mailOptions.getOptions().get( "html" ) ); } @Test public void testSetUseNoHtml() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setUseHtml( false ); assertEquals( Boolean.FALSE, mailOptions.getOptions().get( "html" ) ); } @Test public void testSetUseNoHtmlOverridesUse() { MailOptions mailOptions = new MailOptions( "foo@bar.com" ); mailOptions.setUseHtml( true ); mailOptions.setUseHtml( false ); assertEquals( Boolean.FALSE, mailOptions.getOptions().get( "html" ) ); } }