/** testProperty */ @Test public void testProperty() { String typeName = "MyClass"; String propertyName = "myProperty"; // create type TypeElement type = new TypeElement(); type.setName(typeName); // create property within type PropertyElement property = new PropertyElement(); property.setName(propertyName); type.addProperty(property); // write type to index this.writeType(type); // then retrieve it List<TypeElement> retrievedTypes = this.getType(typeName); TypeElement retrievedType = retrievedTypes.get(0); assertNotNull(retrievedType); assertEquals(typeName, retrievedType.getName()); // make sure we have one property List<PropertyElement> properties = retrievedType.getProperties(); assertNotNull(properties); assertTrue(properties.size() == 1); // make sure the name is correct PropertyElement retrievedProperty = properties.get(0); assertEquals(propertyName, retrievedProperty.getName()); }
@Test public void testPropertyWithConstantValues() { String typeName = "MyClass"; String propertyName = "myProperty"; // create type TypeElement type = new TypeElement(); type.setName(typeName); // create property within type PropertyElement property = createProperty( "name", propertyName, IHasPredefinedValues.CONSTANTS_PROPERTY, CollectionsUtil.newList("Titanium.UI.FILL", "Titanium.UI.ALIGN")); type.addProperty(property); // write type to index this.writeType(type); // then retrieve it List<TypeElement> retrievedTypes = this.getType(typeName); TypeElement retrievedType = retrievedTypes.get(0); assertNotNull(retrievedType); assertEquals(typeName, retrievedType.getName()); // make sure we have one property List<PropertyElement> properties = retrievedType.getProperties(); assertNotNull(properties); assertEquals(1, properties.size()); // make sure the name is correct PropertyElement retrievedProperty = properties.get(0); assertEquals(propertyName, retrievedProperty.getName()); // Check constants List<String> constants = retrievedProperty.getConstants(); assertEquals(2, constants.size()); assertTrue(constants.contains("Titanium.UI.FILL")); assertTrue(constants.contains("Titanium.UI.ALIGN")); }
/* * (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ public Object[] getChildren(Object parentElement) { List<? extends Object> result = Collections.emptyList(); if (parentElement instanceof JSElement) { JSElement root = (JSElement) parentElement; // @formatter:off result = CollectionsUtil.newList( new ClassGroupElement( Messages.JSIndexViewContentProvider_WorkspaceGroupLabel, JSIndexQueryHelper.getJSCoreIndex()), new ClassGroupElement( Messages.JSIndexViewContentProvider_ProjectGroupLabel, root.getIndex())); // @formatter:on } else if (parentElement instanceof ClassGroupElement) { ClassGroupElement group = (ClassGroupElement) parentElement; result = group.getClasses(); } else if (parentElement instanceof ClassElement) { TypeElement type = (ClassElement) parentElement; // NOTE: have to do this "temp" acrobatics to make the compiler happy, due to use of generics // and differing // return types when grabbing properties vs events List<Object> temp = new ArrayList<Object>(); temp.addAll(type.getProperties()); temp.addAll(type.getEvents()); result = temp; } else if (parentElement instanceof EventElement) { EventElement event = (EventElement) parentElement; result = event.getProperties(); } return result.toArray(new Object[result.size()]); }
/** testMethod */ @Test public void testMethod() { String typeName = "MyClass"; String methodName = "myMethod"; // create type TypeElement type = new TypeElement(); type.setName(typeName); // create method within type FunctionElement method = new FunctionElement(); method.setName(methodName); type.addProperty(method); // write type to index this.writeType(type); // then retrieve it List<TypeElement> retrievedTypes = this.getType(typeName); TypeElement retrievedType = retrievedTypes.get(0); assertNotNull(retrievedType); assertEquals(typeName, retrievedType.getName()); // make sure we have one property List<PropertyElement> properties = retrievedType.getProperties(); assertNotNull(properties); assertTrue(properties.size() == 1); // make sure it is a function PropertyElement property = properties.get(0); assertTrue(property instanceof FunctionElement); // make sure it is the function we added earlier FunctionElement retrievedMethod = (FunctionElement) property; assertEquals(methodName, retrievedMethod.getName()); }
@Test public void testEventPropertyWithConstantValues() { String typeName = "MyClass"; String functionName = "convertUnits"; String paramName = "convertToUnits"; List<String> constants = CollectionsUtil.newList( "Titanium.UI.UNIT_CM", "Titanium.UI.UNIT_MM", "Titanium.UI.UNIT_DIP", "Titanium.UI.UNIT_IN", "Titanium.UI.UNIT_PX"); // create type TypeElement type = new TypeElement(); type.setName(typeName); // create function within type FunctionElement function = new FunctionElement(); function.setName(functionName); ParameterElement parameter = new ParameterElement(); parameter.setName(paramName); parameter.fromJSON( CollectionsUtil.newTypedMap( String.class, Object.class, IHasPredefinedValues.CONSTANTS_PROPERTY, constants)); function.addParameter(parameter); type.addProperty(function); // write type to index this.writeType(type); // then retrieve it List<TypeElement> retrievedTypes = this.getType(typeName); TypeElement retrievedType = retrievedTypes.get(0); assertNotNull(retrievedType); assertEquals(typeName, retrievedType.getName()); // make sure we have one property List<PropertyElement> properties = retrievedType.getProperties(); assertNotNull(properties); assertEquals(1, properties.size()); // make sure the name is correct PropertyElement retrievedProperty = properties.get(0); assertEquals(functionName, retrievedProperty.getName()); assertTrue(retrievedProperty instanceof FunctionElement); FunctionElement retrievedFunction = (FunctionElement) retrievedProperty; List<ParameterElement> retrievedParams = retrievedFunction.getParameters(); assertNotNull(retrievedParams); assertEquals(1, retrievedParams.size()); ParameterElement retrievedParam = retrievedParams.get(0); // Check constants List<String> retrievedConstants = retrievedParam.getConstants(); assertEquals(constants.size(), retrievedConstants.size()); for (String constant : constants) { assertTrue(retrievedConstants.contains(constant)); } }