Exemplo n.º 1
0
  /** APSTUD-4116 */
  @Test
  public void testFunctionDocumentationWithoutParamTag() {
    TestBuildContext myContext = new TestBuildContext("indexing/functionDocsWithoutParam.js");

    try {
      IParseRootNode ast = myContext.getAST();
      JSFileIndexingParticipant indexParticipant = new JSFileIndexingParticipant();
      Index index = getIndex();

      indexParticipant.processParseResults(myContext, index, ast, new NullProgressMonitor());
      JSIndexQueryHelper queryHelper = new JSIndexQueryHelper(index);

      Collection<PropertyElement> types =
          queryHelper.getGlobals("functionDocsWithoutParam.js", "abc");
      assertNotNull(types);
      assertTrue("Expected at least a single property for 'abc'", !types.isEmpty());

      PropertyElement property = types.iterator().next();
      assertTrue("Expected a FunctionElement", property instanceof FunctionElement);

      FunctionElement function = (FunctionElement) property;
      List<String> parameters = function.getParameterNames();
      assertNotNull(parameters);
      assertEquals("Expected 3 parameters for 'abc'", 3, parameters.size());

      assertEquals("Expected parameter 1's name to be 'a'", "a", parameters.get(0));
      assertEquals("Expected parameter 2's name to be 'b'", "b", parameters.get(1));
      assertEquals("Expected parameter 3's name to be 'c'", "c", parameters.get(2));
    } catch (CoreException e) {
      fail(e.getMessage());
    }
  }