/**
   * Test the source viewer of Vjet editor and if the start and end line equal the given value, it
   * passes.
   *
   * <p>Add by Oliver.
   *
   * @throws Exception
   */
  public void testBug3811() throws Exception {
    String js = "autoEdit/test3811";
    FixtureManager m_fixtureManager = FixtureUtils.setUpFixture(this, js + ".js");
    IFile file =
        ResourcesPlugin.getWorkspace()
            .getRoot()
            .getFile(new Path(getProjectName() + "/src/" + js + ".js"));

    VjoEditor editor =
        (VjoEditor)
            IDE.openEditor(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), file);

    try {
      try {
        Class clazz =
            editor
                .getClass()
                .getClassLoader()
                .loadClass("org.eclipse.vjet.eclipse.internal.ui.editor.VjoEditor");
        Field fSourceViewer = clazz.getDeclaredField("fSourceViewer");
        fSourceViewer.setAccessible(true);
        ISourceViewer sourceViewer = (ISourceViewer) fSourceViewer.get(editor);
        boolean hasIcon = RangeIndicatorUtil.hasRangeIndication(sourceViewer, 0, 3);
        assertEquals(hasIcon, true);
      } catch (SecurityException e) {
        e.printStackTrace();
      } catch (IllegalArgumentException e) {
        e.printStackTrace();
      } catch (IllegalAccessException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (NoSuchFieldException e) {
        e.printStackTrace();
      }

    } finally {
      FixtureUtils.tearDownFixture(m_fixtureManager);
    }
  }
 private void testTabSize(int tabSize, VjoEditor editor) {
   try {
     Class clazz =
         editor
             .getClass()
             .getClassLoader()
             .loadClass("org.eclipse.ui.texteditor.AbstractTextEditor");
     Field method = clazz.getDeclaredField("fSourceViewer");
     method.setAccessible(true);
     ISourceViewer sourceViewer = (ISourceViewer) method.get(editor);
     int size = sourceViewer.getTextWidget().getTabs();
     assertEquals(size, tabSize);
   } catch (SecurityException e) {
     e.printStackTrace();
   } catch (IllegalArgumentException e) {
     e.printStackTrace();
   } catch (IllegalAccessException e) {
     e.printStackTrace();
   } catch (ClassNotFoundException e) {
     e.printStackTrace();
   } catch (NoSuchFieldException e) {
     e.printStackTrace();
   }
 }