diff --git a/source/java/org/alfresco/repo/jscript/ScriptNode.java b/source/java/org/alfresco/repo/jscript/ScriptNode.java index 967f6e542e..d820ffad56 100644 --- a/source/java/org/alfresco/repo/jscript/ScriptNode.java +++ b/source/java/org/alfresco/repo/jscript/ScriptNode.java @@ -2165,8 +2165,17 @@ public class ScriptNode implements Serializable, Scopeable */ public String[] getTags() { + String[] result = null; List tags = this.services.getTaggingService().getTags(this.nodeRef); - return (String[])tags.toArray(new String[tags.size()]); + if (tags.isEmpty() == true) + { + result = new String[0]; + } + else + { + result = (String[])tags.toArray(new String[tags.size()]); + } + return result; } /** diff --git a/source/java/org/alfresco/repo/jscript/ScriptTestUtils.java b/source/java/org/alfresco/repo/jscript/ScriptTestUtils.java index 606030523a..ff0b3f03c5 100644 --- a/source/java/org/alfresco/repo/jscript/ScriptTestUtils.java +++ b/source/java/org/alfresco/repo/jscript/ScriptTestUtils.java @@ -49,6 +49,23 @@ public class ScriptTestUtils extends BaseScopableProcessorExtension } } + public void assertNotEquals(Object expected, Object value) + { + assertNotEquals(expected, value, null); + } + + public void assertNotEquals(Object expected, Object value, String message) + { + if (expected.equals(value) == true) + { + if (message == null) + { + message = "Expected value '" + expected + "' should not match recieved value '" + value + "'"; + } + throw new AlfrescoRuntimeException(message); + } + } + public void assertNotNull(Object value) { assertNotNull(value, null); diff --git a/source/java/org/alfresco/repo/tagging/script/test_taggingService.js b/source/java/org/alfresco/repo/tagging/script/test_taggingService.js index 1e8dc44c7a..f9c4bef5e7 100644 --- a/source/java/org/alfresco/repo/tagging/script/test_taggingService.js +++ b/source/java/org/alfresco/repo/tagging/script/test_taggingService.js @@ -14,6 +14,7 @@ function testAddRemoveTag() { var tags = document.tags; test.assertNotNull(tags); + test.assertNotEquals(undefined, tags); test.assertEquals(0, tags.length); document.properties.title = "A change is as good as a rest!";