diff --git a/dspace-api/src/test/java/org/dspace/content/ItemTest.java b/dspace-api/src/test/java/org/dspace/content/ItemTest.java index eb0acfb47c..590d4ae663 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemTest.java @@ -290,6 +290,8 @@ public class ItemTest extends AbstractDSpaceObjectTest DCValue[] dc = it.getMetadata(schema, element, qualifier, lang); assertThat("testGetMetadata_4args 0",dc,notNullValue()); assertTrue("testGetMetadata_4args 1",dc.length == 0); + + } /** @@ -314,6 +316,23 @@ public class ItemTest extends AbstractDSpaceObjectTest assertTrue("testGetMetadata_String 5",dc.length == 0); } + /** + * A test for DS-806: Item.match() incorrect logic for schema testing + */ + @Test + public void testDS806() + { + // Set the item to have two pieces of metadata for dc.type and dc2.type + String dcType = "DC-TYPE"; + String testType = "TEST-TYPE"; + it.addMetadata("dc", "type", null, null, dcType); + it.addMetadata("test", "type", null, null, testType); + + // Check that only one is returned when we ask for all dc.type values + DCValue[] values = it.getMetadata("dc", "type", null, null); + assertTrue("Return results", values.length == 1); + } + /** * Test of addDC method, of class Item. */ diff --git a/dspace-api/src/test/resources/dspaceFolder/config/registries/dublin-core-types.xml b/dspace-api/src/test/resources/dspaceFolder/config/registries/dublin-core-types.xml index 29c296ee4e..ccd9ceeb89 100644 --- a/dspace-api/src/test/resources/dspaceFolder/config/registries/dublin-core-types.xml +++ b/dspace-api/src/test/resources/dspaceFolder/config/registries/dublin-core-types.xml @@ -549,7 +549,7 @@ dc subject mesh - MEdical Subject Headings + Medical Subject Headings @@ -584,4 +584,18 @@ Nature or genre of content. + + + + test + http://example.com/test/ + + + + test + type + + A second test schema type element. + +