Exemplo n.º 1
0
  /** Test for APSTUD-4289. Make sure we don't allow duplicate user agents into the JS index */
  @Test
  public void testDuplicateUserAgents() {
    // create property
    PropertyElement property = new PropertyElement();
    property.setName("property");

    // add all user agents, twice
    IUserAgentManager manager = CorePlugin.getDefault().getUserAgentManager();

    for (IUserAgent userAgent : manager.getAllUserAgents()) {
      UserAgentElement uaElement = new UserAgentElement();
      uaElement.setPlatform(userAgent.getName());

      property.addUserAgent(uaElement);
      property.addUserAgent(uaElement);
    }

    // create type for property so we can write it to the index
    TypeElement type = new TypeElement();
    type.setName("Testing");
    type.addProperty(property);

    // write type and its properties
    JSIndexWriter writer = new JSIndexWriter();
    writer.writeType(getIndex(), type);

    // read property back again
    JSIndexReader reader = new JSIndexReader();
    List<PropertyElement> properties = reader.getProperties(getIndex(), property.getOwningType());

    // make sure we have only one of each user agent
    assertNotNull(properties);
    assertEquals(1, properties.size());
    assertEquals(manager.getAllUserAgents().length, properties.get(0).getUserAgents().size());
  }
Exemplo n.º 2
0
  /** Test for APSTUD-4535 */
  @Test
  public void testTypeCaching() {
    TestBuildContext myContext = new TestBuildContext("indexing/dottedTypes.js");

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

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

      List<TypeElement> types = queryHelper.getTypes(index, true);
      assertNotNull(types);
      assertEquals("Expected 3 types", 3, types.size());

      // remove index and do it all over again
      getIndexManager().removeIndex(URI.create(IJSIndexConstants.METADATA_INDEX_LOCATION));

      // make sure we get the same results
      index = getIndex();
      indexParticipant.processParseResults(myContext, index, ast, new NullProgressMonitor());
      types = queryHelper.getTypes(index, true);
      assertNotNull(types);
      assertEquals("Expected 3 types", 3, types.size());
    } catch (CoreException e) {
      fail(e.getMessage());
    }
  }
Exemplo n.º 3
0
  /**
   * getType
   *
   * @param typeName
   * @return
   */
  private List<TypeElement> getType(String typeName) {
    JSIndexReader reader = new JSIndexReader();

    return reader.getType(this.getIndex(), typeName, true);
  }