package com.windowtester.test.codegen; import junit.framework.TestCase; import com.windowtester.codegen.assembly.block.CodeBlock; import com.windowtester.codegen.generator.NewAPICodeBlockBuilder; import com.windowtester.codegen.swt.SWTV2TestCaseBuilder; /******************************************************************************* * Copyright (c) 2012 Google, Inc. * 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: * Google, Inc. - initial API and implementation *******************************************************************************/ public class TextEntryCodegenTest extends TestCase { private NewAPICodeBlockBuilder _builder; private SWTV2TestCaseBuilder _testBuilder; public void testEscapes() { String result = buildEntry("C:\\a"); assertEquals("ui.enterText(\"C:\\\\a\");", result); } public void testEscapesTrailing() { String result = buildEntry("C:\\"); assertEquals("ui.enterText(\"C:\\\\\");", result); } public void testMultipleEscapes() { String result = buildEntry("C:\\Program Files\\tmp"); assertEquals("ui.enterText(\"C:\\\\Program Files\\\\tmp\");", result); } public void testMultipleEscapesTrailing() { String result = buildEntry("C:\\Program Files\\tmp\\"); assertEquals("ui.enterText(\"C:\\\\Program Files\\\\tmp\\\\\");", result); } public void testSingleEscape() { String result = buildEntry("\\"); assertEquals("ui.enterText(\"\\\\\");", result); } public void testEscapedQuotes() { String result = buildEntry("say \"hello!\""); assertEquals("ui.enterText(\"say \\\"hello!\\\"\");", result); } //////////////////////////////////////////////////////////////////////////////////////// // // Helpers // //////////////////////////////////////////////////////////////////////////////////////// private String buildEntry(String text) { NewAPICodeBlockBuilder builder = getBuilder(); CodeBlock block = builder.buildTextEntry(text); String result = block.toString().trim(); //remove trailing WS return result; } //////////////////////////////////////////////////////////////////////////////////////// // // Accessors // //////////////////////////////////////////////////////////////////////////////////////// private NewAPICodeBlockBuilder getBuilder() { if (_builder == null) { _builder = new NewAPICodeBlockBuilder(getTestCaseBuilder()); } return _builder; } private SWTV2TestCaseBuilder getTestCaseBuilder() { if (_testBuilder == null) _testBuilder = new SWTV2TestCaseBuilder("MockTest", "mock", null, null); return _testBuilder; } }