Search in sources :

Example 31 with JsTranslationAdapter

use of org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter in project webtools.sourceediting by eclipse.

the class TestHtmlTranslation method testFunctionReturnInEventHandler.

public void testFunctionReturnInEventHandler() {
    // get model
    String fileName = getName() + ".html";
    IStructuredModel structuredModel = getSharedModel(fileName, "<div                                     onClick=\"return myMethod();\">");
    assertNotNull("missing test model", structuredModel);
    // do translation
    JsTranslationAdapterFactory.setupAdapterFactory(structuredModel);
    JsTranslationAdapter translationAdapter = (JsTranslationAdapter) ((IDOMModel) structuredModel).getDocument().getAdapterFor(IJsTranslation.class);
    IJsTranslation translation = translationAdapter.getJsTranslation(false);
    String translated = translation.getJsText();
    assertEquals("translated content differs", "                                      (function(){return myMethod();;})();", translated);
    StringBuffer problems = new StringBuffer();
    translation.reconcileCompilationUnit();
    List problemList = translation.getProblems();
    for (int i = 0; i < problemList.size(); i++) {
        problems.append(((IProblem) problemList.get(i)).getMessage());
        problems.append('\n');
    }
    assertEquals("problems were found", "", problems.toString());
    // release model
    structuredModel.releaseFromRead();
}
Also used : IJsTranslation(org.eclipse.wst.jsdt.web.core.javascript.IJsTranslation) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) List(java.util.List) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) JsTranslationAdapter(org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter)

Example 32 with JsTranslationAdapter

use of org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter in project webtools.sourceediting by eclipse.

the class TestHtmlTranslation method testJustClientTagInJS.

public void testJustClientTagInJS() {
    // get model
    String fileName = getName() + ".html";
    IStructuredModel structuredModel = getSharedModel(fileName, "<script><custom:tag /></script>");
    assertNotNull("missing test model", structuredModel);
    // do translation
    JsTranslationAdapterFactory.setupAdapterFactory(structuredModel);
    JsTranslationAdapter translationAdapter = (JsTranslationAdapter) ((IDOMModel) structuredModel).getDocument().getAdapterFor(IJsTranslation.class);
    IJsTranslation translation = translationAdapter.getJsTranslation(false);
    String translated = translation.getJsText();
    assertTrue("translation too short", translated.length() > 0);
    assertTrue("server-side script block included\n" + translated, translated.indexOf("<") < 0);
    assertTrue("server-side script block included\n" + translated, translated.indexOf("/>") < 0);
    assertTrue("content not included\n" + translated, translated.length() != 0);
    // release model
    structuredModel.releaseFromRead();
}
Also used : IJsTranslation(org.eclipse.wst.jsdt.web.core.javascript.IJsTranslation) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) JsTranslationAdapter(org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter)

Example 33 with JsTranslationAdapter

use of org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter in project webtools.sourceediting by eclipse.

the class TestHtmlTranslation method testJustServer2SideInJS.

public void testJustServer2SideInJS() {
    // get model
    String fileName = getName() + ".html";
    IStructuredModel structuredModel = getSharedModel(fileName, "<script><? !!!!!!!!!!!!!! ?></script>");
    assertNotNull("missing test model", structuredModel);
    // do translation
    JsTranslationAdapterFactory.setupAdapterFactory(structuredModel);
    JsTranslationAdapter translationAdapter = (JsTranslationAdapter) ((IDOMModel) structuredModel).getDocument().getAdapterFor(IJsTranslation.class);
    IJsTranslation translation = translationAdapter.getJsTranslation(false);
    String translated = translation.getJsText();
    assertTrue("translation empty", translated.length() > 5);
    assertTrue("server-side script block included\n" + translated, translated.indexOf("<?") < 0);
    assertTrue("server-side script block included\n" + translated, translated.indexOf("?>") < 0);
    assertTrue("content not included\n" + translated, translated.length() != 0);
    // release model
    structuredModel.releaseFromRead();
}
Also used : IJsTranslation(org.eclipse.wst.jsdt.web.core.javascript.IJsTranslation) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) JsTranslationAdapter(org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter)

Example 34 with JsTranslationAdapter

use of org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter in project webtools.sourceediting by eclipse.

the class TestHtmlTranslation method testHTMLFormat.

public void testHTMLFormat() {
    // get model
    IStructuredModel structuredModel = getModel("test1.html");
    assertNotNull("missing test model", structuredModel);
    // compare
    String formatted = structuredModel.getStructuredDocument().get();
    String expectedFileName = "test1.html";
    String expected = getFile(expectedFileName);
    JsTranslationAdapterFactory.setupAdapterFactory(structuredModel);
    JsTranslationAdapter translationAdapter = (JsTranslationAdapter) ((IDOMModel) structuredModel).getDocument().getAdapterFor(IJsTranslation.class);
    IJsTranslation translation = translationAdapter.getJsTranslation(false);
    assertTrue("expected function definition is missing", translation.getJsText().indexOf("function blah()") >= 0);
    // release model
    structuredModel.releaseFromRead();
}
Also used : IJsTranslation(org.eclipse.wst.jsdt.web.core.javascript.IJsTranslation) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) JsTranslationAdapter(org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter)

Example 35 with JsTranslationAdapter

use of org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter in project webtools.sourceediting by eclipse.

the class TestHtmlTranslation method testJustServer1SideInJS.

public void testJustServer1SideInJS() {
    // get model
    String fileName = getName() + ".html";
    IStructuredModel structuredModel = getSharedModel(fileName, "<script><%= %></script>");
    assertNotNull("missing test model", structuredModel);
    // do translation
    JsTranslationAdapterFactory.setupAdapterFactory(structuredModel);
    JsTranslationAdapter translationAdapter = (JsTranslationAdapter) ((IDOMModel) structuredModel).getDocument().getAdapterFor(IJsTranslation.class);
    IJsTranslation translation = translationAdapter.getJsTranslation(false);
    String translated = translation.getJsText();
    assertTrue("translation empty", translated.length() > 5);
    assertTrue("server-side script block included\n" + translated, translated.indexOf("<%") < 0);
    assertTrue("server-side script block included\n" + translated, translated.indexOf("%>") < 0);
    assertTrue("content not included\n" + translated, translated.length() != 0);
    // release model
    structuredModel.releaseFromRead();
}
Also used : IJsTranslation(org.eclipse.wst.jsdt.web.core.javascript.IJsTranslation) IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) JsTranslationAdapter(org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter)

Aggregations

IJsTranslation (org.eclipse.wst.jsdt.web.core.javascript.IJsTranslation)41 JsTranslationAdapter (org.eclipse.wst.jsdt.web.core.javascript.JsTranslationAdapter)41 IDOMModel (org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel)41 IStructuredModel (org.eclipse.wst.sse.core.internal.provisional.IStructuredModel)32 IDOMDocument (org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument)14 List (java.util.List)5 IModelManager (org.eclipse.wst.sse.core.internal.provisional.IModelManager)4 CoreException (org.eclipse.core.runtime.CoreException)3 IJavaScriptElement (org.eclipse.wst.jsdt.core.IJavaScriptElement)3 IStructuredDocument (org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument)3 ISelection (org.eclipse.jface.viewers.ISelection)2 JavaScriptModelException (org.eclipse.wst.jsdt.core.JavaScriptModelException)2 IProblem (org.eclipse.wst.jsdt.core.compiler.IProblem)2 NodeImpl (org.eclipse.wst.xml.core.internal.document.NodeImpl)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 IFile (org.eclipse.core.resources.IFile)1 IMarker (org.eclipse.core.resources.IMarker)1 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)1 Job (org.eclipse.core.runtime.jobs.Job)1