Package org.odlabs.wiquery.ui.dialog

Source Code of org.odlabs.wiquery.ui.dialog.DialogTestCase

/*
* Copyright (c) 2009 WiQuery team
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package org.odlabs.wiquery.ui.dialog;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.junit.Before;
import org.junit.Test;
import org.odlabs.wiquery.core.javascript.JsScope;
import org.odlabs.wiquery.core.options.ArrayItemOptions;
import org.odlabs.wiquery.tester.WiQueryTestCase;
import org.odlabs.wiquery.ui.DivTestPanel;
import org.odlabs.wiquery.ui.options.EffectOptionObject;
import org.odlabs.wiquery.ui.position.PositionAlignmentOptions;
import org.odlabs.wiquery.ui.position.PositionOptions;
import org.odlabs.wiquery.ui.position.PositionRelation;

/**
* Test on {@link Dialog}
*
* @author Julien Roche
*/
public class DialogTestCase extends WiQueryTestCase
{
  // Properties
  private Dialog dialog;

  @Override
  @Before
  public void setUp()
  {
    super.setUp();

    Panel panel = new DivTestPanel("panelId");
    dialog = new Dialog("anId");
    dialog.setMarkupId(dialog.getId());
    panel.add(dialog);
    tester.startComponentInPage(panel);
  }
 
  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getAppendTo()}.
   */
  @Test
  public void testGetAppendTo()
  {
    assertEquals(dialog.getAppendTo(), "body");
    dialog.setAppendTo("html > div.myClasss");
    assertEquals(dialog.getAppendTo(), "html > div.myClasss");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getButtons()}.
   */
  @Test
  public void testGetButtons()
  {
    assertNull(dialog.getButtons());
    ArrayItemOptions<DialogButton> array = new ArrayItemOptions<DialogButton>();
    array.add(new DialogButton("a title", JsScope.quickScope("alert('a test');")));
    dialog.setButtons(array);
    assertNotNull(dialog.getButtons());
    assertEquals(dialog.getButtons().getJavascriptOption().toString(),
      "[{text: 'a title', click: function() {\n\talert('a test');\n}}]");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getCloseText()}.
   */
  @Test
  public void testGetCloseText()
  {
    assertEquals(dialog.getCloseText(), "close");
    dialog.setCloseText("a text");
    assertEquals(dialog.getCloseText(), "a text");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getDialogClass()}.
   */
  @Test
  public void testGetDialogClass()
  {
    assertEquals(dialog.getDialogClass(), "");
    dialog.setDialogClass("myClass");
    assertEquals(dialog.getDialogClass(), "myClass");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getHeight()}.
   */
  @Test
  public void testGetHeight()
  {
    assertEquals(dialog.getHeight(), 0);
    dialog.setHeight(5);
    assertEquals(dialog.getHeight(), 5);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getHideEffect()}.
   */
  @Test
  public void testGetHide()
  {
    assertNull(dialog.getHide());
    dialog.setHide(new DialogAnimateOption(200));
    assertEquals(dialog.getHide().getJavascriptOption().toString(), "200");
    dialog.setHide(new DialogAnimateOption("fold"));
    assertEquals(dialog.getHide().getJavascriptOption().toString(), "'fold'");
    dialog.setHide(new DialogAnimateOption(new EffectOptionObject()
        .setEffect("blind")
        .setDuration(200)
        .setEasing("linear")
    ));
    assertEquals(dialog.getHide().getJavascriptOption().toString(),
        "{effect: 'blind', duration: 200, easing: 'linear'}");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getMaxHeight()}.
   */
  @Test
  public void testGetMaxHeight()
  {
    assertEquals(dialog.getMaxHeight(), 0);
    dialog.setMaxHeight(5);
    assertEquals(dialog.getMaxHeight(), 5);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getMaxWidth()} .
   */
  @Test
  public void testGetMaxWidth()
  {
    assertEquals(dialog.getMaxWidth(), 0);
    dialog.setMaxWidth(5);
    assertEquals(dialog.getMaxWidth(), 5);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getMinHeight()}.
   */
  @Test
  public void testGetMinHeight()
  {
    assertEquals(dialog.getMinHeight(), 150);
    dialog.setMinHeight(5);
    assertEquals(dialog.getMinHeight(), 5);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getMinWidth()} .
   */
  @Test
  public void testGetMinWidth()
  {
    assertEquals(dialog.getMinWidth(), 150);
    dialog.setMinWidth(5);
    assertEquals(dialog.getMinWidth(), 5);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getOptions()}.
   */
  @Test
  public void testGetOptions()
  {
    assertNotNull(dialog.getOptions());
    assertEquals(dialog.getOptions().getJavaScriptOptions().toString(),
      "{autoOpen: false}");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getPosition()} .
   */
  @Test
  public void testGetPosition()
  {
    assertEquals(dialog.getPosition().getJavascriptOption().toString(),
        "{my: 'center', at: 'center', of: 'window'}");
    dialog.setPosition(new PositionOptions()
        .setMy(new PositionAlignmentOptions(PositionRelation.RIGHT))
        .setAt(new PositionAlignmentOptions(PositionRelation.CENTER, 10, PositionRelation.BOTTOM, -10))
        .setOf("#someId")
    );
    assertEquals(dialog.getPosition().getJavascriptOption().toString(),
        "{my: 'right', at: 'center+10 bottom-10', of: '#someId'}");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getShowEffect()}.
   */
  @Test
  public void testGetShow()
  {
    assertNull(dialog.getShow());
    dialog.setShow(new DialogAnimateOption(200));
    assertEquals(dialog.getShow().getJavascriptOption().toString(), "200");
    dialog.setShow(new DialogAnimateOption("fold"));
    assertEquals(dialog.getShow().getJavascriptOption().toString(), "'fold'");
    dialog.setShow(new DialogAnimateOption(new EffectOptionObject()
        .setEffect("blind")
        .setDuration(200)
        .setEasing("linear")
    ));
    assertEquals(dialog.getShow().getJavascriptOption().toString(),
        "{effect: 'blind', duration: 200, easing: 'linear'}");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getTitle()}.
   */
  @Test
  public void testGetTitle()
  {
    assertEquals(dialog.getTitle(), "");
    dialog.setTitle("a title");
    assertEquals(dialog.getTitle(), "a title");

    dialog.setTitle(new Model<String>("a title2"));
    assertEquals(dialog.getTitle(), "a title2");

    DialogTestPage page = tester.startPage(DialogTestPage.class);
    assertEquals(page.getDialog().getTitle(), "This is a title");
  }

  @Test
  public void testAjaxButton()
  {
    AjaxDialogTestPage page = tester.startPage(AjaxDialogTestPage.class);
    String realValue = page.getOk().getJavascriptOption().toString();
    String expectedOk =
      "{text: 'Ok', click: function (event,ui) {\n"
        + "var attrs = {\"u\":\"./wicket/page?0-1.IBehaviorListener.0-dialog\","
        + "\"c\":\"dialog1\"};\nvar params = {'eventName': 'Ok'};\n"
        + "attrs.ep = params;\nWicket.Ajax.ajax(attrs);\n}\n}";
    assertEquals(expectedOk, realValue);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#getWidth()}.
   */
  @Test
  public void testGetWidth()
  {
    assertEquals(dialog.getWidth(), 300);
    dialog.setWidth(5);
    assertEquals(dialog.getWidth(), 5);
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isAutoOpen()}.
   */
  @Test
  public void testIsAutoOpen()
  {
    assertFalse(dialog.isAutoOpen());
    dialog.setAutoOpen(true);
    assertTrue(dialog.isAutoOpen());
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isCloseOnEscape()}.
   */
  @Test
  public void testIsCloseOnEscape()
  {
    assertTrue(dialog.isCloseOnEscape());
    dialog.setCloseOnEscape(false);
    assertFalse(dialog.isCloseOnEscape());
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isDisabled()}.
   */
  @Test
  public void testIsDisabled()
  {
    assertFalse(dialog.isDisabled());
    dialog.setDisabled(true);
    assertTrue(dialog.isDisabled());
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isDraggable()} .
   */
  @Test
  public void testIsDraggable()
  {
    assertTrue(dialog.isDraggable());
    dialog.setDraggable(false);
    assertFalse(dialog.isDraggable());
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isModal()}.
   */
  @Test
  public void testIsModal()
  {
    assertFalse(dialog.isModal());
    dialog.setModal(true);
    assertTrue(dialog.isModal());
  }
 
  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isResizable()} .
   */
  @Test
  public void testIsResizable()
  {
    assertTrue(dialog.isResizable());
    dialog.setResizable(false);
    assertFalse(dialog.isResizable());
  }
 

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#close()}.
   */
  @Test
  public void testClose()
  {
    assertNotNull(dialog.close());
    assertEquals(dialog.close().render().toString(), "$('#anId').dialog('close');");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#destroy()}.
   */
  @Test
  public void testDestroy()
  {
    assertNotNull(dialog.destroy());
    assertEquals(dialog.destroy().render().toString(), "$('#anId').dialog('destroy');");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#isOpen()}.
   */
  @Test
  public void testIsOpen()
  {
    assertNotNull(dialog.isOpen());
    assertEquals(dialog.isOpen().render().toString(), "$('#anId').dialog('isOpen');");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#moveToTop()}.
   */
  @Test
  public void testMoveToTop()
  {
    assertNotNull(dialog.moveToTop());
    assertEquals(dialog.moveToTop().render().toString(), "$('#anId').dialog('moveToTop');");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#open()}.
   */
  @Test
  public void testOpen()
  {
    assertNotNull(dialog.open());
    assertEquals(dialog.open().render().toString(), "$('#anId').dialog('open');");
  }

  /**
   * Test method for {@link org.odlabs.wiquery.ui.dialog.Dialog#widget()}.
   */
  @Test
  public void testWidget()
  {
    assertNotNull(dialog.widget());
    assertEquals(dialog.widget().render().toString(), "$('#anId').dialog('widget');");
  }
}
TOP

Related Classes of org.odlabs.wiquery.ui.dialog.DialogTestCase

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.