Package org.odlabs.wiquery.core.javascript

Source Code of org.odlabs.wiquery.core.javascript.JsStatementTestCase

/*
* 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.core.javascript;

import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.util.tester.ITestPanelSource;
import org.junit.Before;
import org.junit.Test;
import org.odlabs.wiquery.core.commons.DivTestPanel;
import org.odlabs.wiquery.core.javascript.helper.CssHelper;
import org.odlabs.wiquery.core.options.Options;
import org.odlabs.wiquery.tester.WiQueryTestCase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Test {@link JsStatement}
*
* @author Julien Roche
*/
public class JsStatementTestCase extends WiQueryTestCase
{
  // Constants
  /** Logger */
  protected static final Logger log = LoggerFactory.getLogger(JsStatementTestCase.class);

  // Properties
  private JsStatement jsStatement;

  @Override
  @Before
  public void setUp()
  {
    super.setUp();
    jsStatement = new JsStatement();
  }

  /**
   * Test method for {@link org.odlabs.wiquery.core.javascript.JsStatement#$()}.
   */
  @Test
  public void test$()
  {
    assertAndLog("$;", jsStatement.$().render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#$(org.apache.wicket.Component)}
   * .
   */
  @Test
  public void test$Component()
  {
    final WebMarkupContainer component = new WebMarkupContainer("anId");
    tester.startPanel(new ITestPanelSource()
    {
      private static final long serialVersionUID = 1L;

      public Panel getTestPanel(String panelId)
      {
        Panel panel = new DivTestPanel(panelId);
        component.setMarkupId("anId");
        panel.add(component);
        return panel;
      }
    });
    assertAndLog("$('#anId');", jsStatement.$(component).render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#$(org.apache.wicket.Component, java.lang.String)}
   * .
   */
  @Test
  public void test$ComponentString()
  {
    assertAndLog("$('span');", jsStatement.$(null, "span").render());
    jsStatement = new JsStatement();

    final WebMarkupContainer component = new WebMarkupContainer("anId");
    tester.startPanel(new ITestPanelSource()
    {
      private static final long serialVersionUID = 1L;

      public Panel getTestPanel(String panelId)
      {
        Panel panel = new DivTestPanel(panelId);
        component.setMarkupId("anId");
        panel.add(component);
        return panel;
      }
    });
    assertAndLog("$('#anId span');", jsStatement.$(component, "span").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#addClass(java.lang.String)} .
   */
  @Test
  public void testAddClass()
  {
    assertAndLog("$('span').addClass('myClass');",
      jsStatement.$(null, "span").addClass("myClass").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#after(java.lang.CharSequence)}
   * .
   */
  @Test
  public void testAfter()
  {
    assertAndLog("$('span').after('<div>some text</div>');",
      jsStatement.$(null, "span").after("<div>some text</div>").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#append(java.lang.CharSequence)}
   * .
   */
  @Test
  public void testAppend()
  {
    assertAndLog("$('div').click();", jsStatement.append("$('div').click()").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#attr(java.lang.String, org.odlabs.wiquery.core.javascript.JsScope)}
   * .
   */
  @Test
  public void testAttrStringJsScope()
  {
    assertAndLog("$('span').attr('click', function() {\n\talert('click done');\n});",
      jsStatement.$(null, "span").attr("click", JsScope.quickScope("alert('click done');"))
        .render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#attr(java.lang.String, java.lang.String)}
   * .
   */
  @Test
  public void testAttrStringString()
  {
    assertAndLog("$('span').attr('title', 'a title');",
      jsStatement.$(null, "span").attr("title", "a title").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#before(java.lang.CharSequence)}
   * .
   */
  @Test
  public void testBefore()
  {
    assertAndLog("$('span').before('<div>some text</div>');", jsStatement.$(null, "span")
      .before("<div>some text</div>").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#chain(org.odlabs.wiquery.core.javascript.ChainableStatement)}
   * .
   */
  @Test
  public void testChainChainableStatement()
  {
    assertAndLog("$('span').css('font-weight', 'bold');",
      jsStatement.$(null, "span").chain(CssHelper.css("font-weight", "bold")).render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#chain(java.lang.CharSequence, java.lang.CharSequence[])}
   * .
   */
  @Test
  public void testChainCharSequenceCharSequenceArray()
  {
    assertAndLog("$('span').a(b, c);", jsStatement.$(null, "span").chain("a", "b", "c")
      .render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#css(org.odlabs.wiquery.core.options.Options)}
   * .
   */
  @Test
  public void testCssOptions()
  {
    Options options = new Options();
    options.putLiteral("font-weight", "bold");
    assertAndLog("$('span').css({font-weight: 'bold'});",
      jsStatement.$(null, "span").css(options).render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#css(java.lang.String, java.lang.String)}
   * .
   */
  @Test
  public void testCssStringString()
  {
    assertAndLog("$('span').css('font-weight', 'bold');",
      jsStatement.$(null, "span").css("font-weight", "bold").render());
  }

  /**
   * Test method for {@link org.odlabs.wiquery.core.javascript.JsStatement#document()}.
   */
  @Test
  public void testDocument()
  {
    assertAndLog("$(document);", jsStatement.document().render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#each(org.odlabs.wiquery.core.javascript.JsScope)}
   * .
   */
  @Test
  public void testEach()
  {
    assertAndLog("$('span').each(function() {\n\talert('done');\n});",
      jsStatement.$(null, "span").each(JsScope.quickScope("alert('done');")).render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#html(java.lang.CharSequence)}
   * .
   */
  @Test
  public void testHtml()
  {
    assertAndLog("$('span').html('some text');", jsStatement.$(null, "span").html("some text")
      .render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#insertAfter(java.lang.String)}
   * .
   */
  @Test
  public void testInsertAfter()
  {
    assertAndLog("$('span').insertAfter('<div>some text</div>');", jsStatement.$(null, "span")
      .insertAfter("<div>some text</div>").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#insertBefore(java.lang.String)}
   * .
   */
  @Test
  public void testInsertBefore()
  {
    assertAndLog("$('span').insertBefore('<div>some text</div>');", jsStatement.$(null, "span")
      .insertBefore("<div>some text</div>").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#ready(org.odlabs.wiquery.core.javascript.JsScope)}
   * .
   */
  @Test
  public void testReady()
  {
    assertAndLog("$('span').ready(function() {\n\talert('done');\n});",
      jsStatement.$(null, "span").ready(JsScope.quickScope("alert('done');")).render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#removeAttr(java.lang.String)}
   * .
   */
  @Test
  public void testRemoveAttr()
  {
    assertAndLog("$('span').removeAttr('title');",
      jsStatement.$(null, "span").removeAttr("title").render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#removeClass(java.lang.String)}
   * .
   */
  @Test
  public void testRemoveClass()
  {
    assertAndLog("$('span').removeClass('myClass');",
      jsStatement.$(null, "span").removeClass("myClass").render());
  }

  /**
   * Test method for {@link org.odlabs.wiquery.core.javascript.JsStatement#render()}.
   */
  @Test
  public void testRender()
  {
    assertAndLog("$;", jsStatement.$().render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#render(boolean)}.
   */
  @Test
  public void testRenderBoolean()
  {
    assertAndLog("$;", jsStatement.$().render(true));
    jsStatement = new JsStatement();
    assertAndLog("$", jsStatement.$().render(false));
  }

  /**
   * Test method for {@link org.odlabs.wiquery.core.javascript.JsStatement#self()}.
   */
  @Test
  public void testSelf()
  {
    assertAndLog("$(this);", jsStatement.self().render());
  }

  /**
   * Test method for
   * {@link org.odlabs.wiquery.core.javascript.JsStatement#toggleClass(java.lang.String)}
   * .
   */
  @Test
  public void testToggleClass()
  {
    assertAndLog("$('span').toggleClass('myClass');",
      jsStatement.$(null, "span").toggleClass("myClass").render());
  }

  @Override
  protected Logger getLog()
  {
    return log;
  }
}
TOP

Related Classes of org.odlabs.wiquery.core.javascript.JsStatementTestCase

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.