[jbosstools-commits] JBoss Tools SVN: r39633 - trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/smoke.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Mar 19 14:02:46 EDT 2012


Author: vpakan at redhat.com
Date: 2012-03-19 14:02:45 -0400 (Mon, 19 Mar 2012)
New Revision: 39633

Modified:
   trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/smoke/CodeCompletionTest.java
Log:
Added testing of HTML 5 tags Code Completion

Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/smoke/CodeCompletionTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/smoke/CodeCompletionTest.java	2012-03-19 17:38:58 UTC (rev 39632)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/smoke/CodeCompletionTest.java	2012-03-19 18:02:45 UTC (rev 39633)
@@ -13,7 +13,10 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.ui.bot.ext.SWTJBTExt;
 import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.jboss.tools.ui.bot.ext.Timing;
 import org.jboss.tools.ui.bot.ext.helper.ContentAssistHelper;
 import org.jboss.tools.ui.bot.ext.parts.ContentAssistBot;
 import org.jboss.tools.ui.bot.ext.parts.SWTBotEditorExt;
@@ -24,9 +27,10 @@
  *
  */
 public class CodeCompletionTest extends VPEEditorTestCase{
+  static final private String HTML_PAGE_NAME = "CodeComletionPage.html";
   private SWTBotEditorExt editor;
+  private SWTBotEditorExt htmlEditor;
   private String originalEditorText;
-  
   @Override
   public void setUp() throws Exception {
     super.setUp();
@@ -40,6 +44,9 @@
       editor.setText(originalEditorText);
       editor.saveAndClose();
     }
+    if (htmlEditor != null){
+      htmlEditor.close();
+    }
     super.tearDown();
   }
   /**
@@ -83,6 +90,41 @@
   }
   
   /**
+   * Tests Code Completion for HTML Page
+   */
+  public void testCodeCompletionOfHtmlPage(){
+    createHtmlPage(CodeCompletionTest.HTML_PAGE_NAME);
+    SWTBotExt botExt = new SWTBotExt();
+    SWTBotEditorExt htmlEditor = botExt.swtBotEditorExtByTitle(CodeCompletionTest.HTML_PAGE_NAME);
+    htmlEditor.setText("<!DOCTYPE html>\n" +
+        "<html>\n" +
+        "  <head>\n" +
+        "  </head>\n" +
+        "  <body>\n" +
+        "  </boyd>\n" +
+        "</html>");
+    bot.sleep(Timing.time2S());
+    final String tagToSelect = "<body>";
+    SWTJBTExt.selectTextInSourcePane(botExt,
+        CodeCompletionTest.HTML_PAGE_NAME,
+        tagToSelect,
+        tagToSelect.length(),
+        0,
+        0);
+    List<String> proposals = htmlEditor.contentAssist().getProposalList();
+    StringBuffer sbMissingProposals = new StringBuffer("");
+    for (String expectedItem : getHTML5ProposalList()){
+      if (!proposals.contains(expectedItem)){
+        if (sbMissingProposals.length() != 0){
+          sbMissingProposals.append(",");
+        }
+        sbMissingProposals.append(expectedItem);
+      }
+    }
+    assertTrue("There are missing Code Assist proposals for these HTML 5 tags: " + sbMissingProposals.toString(),
+        sbMissingProposals.length() == 0 );
+  }
+  /**
    * Returns list of expected Content Assist proposals for jsp page within <f:view> tag
    * @return
    */
@@ -190,5 +232,35 @@
     
     return result;
   } 
-  
+  /**
+   * Returns list of HTML% tags which should be in Code Assist proposals 
+   * @return
+   */
+  private static List<String> getHTML5ProposalList() {
+    List<String> result = new LinkedList<String>();
+    result.add("article");
+    result.add("aside");
+    result.add("audio");
+    result.add("command");
+    result.add("canvas");
+    result.add("details");
+    result.add("hgroup");
+    result.add("meter");
+    result.add("progress");
+    result.add("time");
+    result.add("wbr");
+    result.add("embed");
+    result.add("datalist");
+    result.add("keygen");
+    result.add("output");
+    result.add("figure");
+    result.add("footer");
+    result.add("header");
+    result.add("mark");
+    result.add("nav");
+    result.add("ruby");
+    result.add("section");
+    result.add("video");
+    return result;
+  }
 }
\ No newline at end of file



More information about the jbosstools-commits mailing list