Package com.google.jstestdriver.html

Source Code of com.google.jstestdriver.html.InlineHtmlProcessorTest$ScriptBuilder

/*
* Copyright 2009 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.jstestdriver.html;

import junit.framework.TestCase;

import com.google.jstestdriver.FileInfo;

/**
* @author corysmith@google.com (Cory Smith)
*
*/
public class InlineHtmlProcessorTest extends TestCase {
  public void testProcessHtmlCreate() throws Exception {
    ScriptBuilder script = new ScriptBuilder()
        .line("TestCase.prototype.setUp = function(){")
        .line("  this.foo = 1;")
        .test("  /*:DOC bar = <div></div>*/")
        .expect("  this. bar  = jstestdriver.toHtml(' <div></div>',window.document);")
        .line("};");
   
    doScriptTest(script);
  }
  public void testProcessHtmlToBody() throws Exception {
    ScriptBuilder script = new ScriptBuilder()
    .line("TestCase.prototype.setUp = function(){")
    .line("  this.foo = 1;")
    .test("  /*:DOC += <div></div>*/")
    .expect("  jstestdriver.appendHtml(' <div></div>',window.document);")
    .line("};");
   
    doScriptTest(script);
  }

  private void doScriptTest(ScriptBuilder script) {
    FileInfo test = new FileInfo("foo.js", 20, -1, false, false, script.buildTest(), "foo.js");
    FileInfo expected = new FileInfo(test.getFilePath(),
                                     test.getTimestamp(),
                                     -1,
                                     test.isPatch(),
                                     test.isServeOnly(),
                                     script.buildExpect(),
                                     test.getDisplayPath());
    FileInfo actual = new InlineHtmlProcessor(new HtmlDocParser(),
        new HtmlDocLexer()).process(test);
    assertEquals(expected.getFilePath(), actual.getFilePath());
    assertEquals(expected.getTimestamp(), actual.getTimestamp());
    assertEquals(expected.isPatch(), actual.isPatch());
    assertEquals(expected.isServeOnly(), actual.isServeOnly());
    assertEquals(expected.getData(), actual.getData());
  }
 
  static class ScriptBuilder {
    private StringBuilder script = new StringBuilder();
    private StringBuilder expected = new StringBuilder();
    public ScriptBuilder line(String line) {
      script.append(line);
      expected.append(line);
      return this;
    }
   
    public ScriptBuilder expect(String line) {
      expected.append(line);
      return this;
    }
   
    public ScriptBuilder test(String line) {
      script.append(line);
      return this;
    }
   
    public String buildTest() {
      return script.toString();
    }
   
    public String buildExpect() {
      return expected.toString();
    }
  }
}
TOP

Related Classes of com.google.jstestdriver.html.InlineHtmlProcessorTest$ScriptBuilder

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.