Index: jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/nodetype/NodeTypeDefDiffTest.java =================================================================== --- jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/nodetype/NodeTypeDefDiffTest.java (revision 1695071) +++ jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/nodetype/NodeTypeDefDiffTest.java (working copy) @@ -87,6 +87,38 @@ assertTrue(nodeTypeDefDiff.isMajor()); } + public void testAddSameNamePropertyDefinition() throws Exception { + // old node type definition + QNodeTypeDefinitionBuilder oldDef = new QNodeTypeDefinitionBuilder(); + oldDef.setName(NODE_TYPE1); + oldDef.setSupertypes(new Name[] { NameConstants.NT_BASE }); + + QPropertyDefinitionBuilder oldPropDef = new QPropertyDefinitionBuilder(); + oldPropDef.setDeclaringNodeType(NODE_TYPE1); + oldPropDef.setName(PROP_NAME); + oldPropDef.setRequiredType(PropertyType.STRING); + oldPropDef.setMultiple(false); + + oldDef.setPropertyDefs(new QPropertyDefinition[]{ oldPropDef.build() }); + + // new node type definition + QNodeTypeDefinitionBuilder newDef = new QNodeTypeDefinitionBuilder(); + newDef.setName(NODE_TYPE1); + newDef.setSupertypes(new Name[] { NameConstants.NT_BASE }); + + QPropertyDefinitionBuilder newPropDef1 = oldPropDef; + QPropertyDefinitionBuilder newPropDef2 = new QPropertyDefinitionBuilder(); + newPropDef2.setDeclaringNodeType(NODE_TYPE1); + newPropDef2.setName(PROP_NAME); + newPropDef2.setRequiredType(PropertyType.BOOLEAN); + newPropDef2.setMultiple(false); + + newDef.setPropertyDefs(new QPropertyDefinition[]{ newPropDef1.build(), newPropDef2.build() }); + + NodeTypeDefDiff nodeTypeDefDiff = NodeTypeDefDiff.create(oldDef.build(), newDef.build()); + assertTrue(nodeTypeDefDiff.isTrivial()); + } + public void testChangedSameNameChildNodeDefinition() throws Exception { // old node type definition QNodeTypeDefinitionBuilder oldDef = new QNodeTypeDefinitionBuilder();