Author: echatellier Date: 2010-09-14 11:46:16 +0200 (Tue, 14 Sep 2010) New Revision: 309 Url: http://nuiton.org/repositories/revision/wikitty/309 Log: Add check about invalid extension name Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtension.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtension.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtension.java 2010-09-14 08:32:49 UTC (rev 308) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtension.java 2010-09-14 09:46:16 UTC (rev 309) @@ -89,21 +89,15 @@ } public WikittyExtension(String name) { - if (name == null) { - throw new IllegalArgumentException("Name must not be null"); - } - this.name = name; + setName(name); } public WikittyExtension(String name, String version, String requires, LinkedHashMap<String, FieldType> fields) { - if (name == null) { - throw new IllegalArgumentException("Name must not be null"); - } if (version == null) { throw new IllegalArgumentException("Version must not be null"); } - this.name = name; + setName(name); this.version = WikittyUtil.normalizeVersion(version); this.requires = requires; if (fields != null) { @@ -206,6 +200,26 @@ return name; } + /** + * Set extension name. + * + * Check for invalid extension name (non alphanumeric characters). + * + * @param name name + */ + public void setName(String name) { + + // check alphanumeric characters + if (name == null) { + throw new IllegalArgumentException("Name must not be null"); + } + if (!name.matches("\\w+")) { + throw new IllegalArgumentException("Name contains non alphanumeric characters"); + } + + this.name = name; + } + public String getVersion() { return version; } Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java 2010-09-14 08:32:49 UTC (rev 308) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java 2010-09-14 09:46:16 UTC (rev 309) @@ -119,7 +119,32 @@ } } - + + /** + * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques. + */ + @Test(expected=IllegalArgumentException.class) + public void testWikittyExtensionBadName() { + new WikittyExtension("invalid name", "1", null, null ); + } + + /** + * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques. + */ + @Test(expected=IllegalArgumentException.class) + public void testWikittyExtensionBadName2() { + WikittyExtension ext = new WikittyExtension(); + ext.setName("été"); + } + + /** + * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques. + */ + @Test(expected=IllegalArgumentException.class) + public void testWikittyExtensionBadName3() { + new WikittyExtension("test,test"); + } + @Test public void testWikittyExtensionCorrectFieldName() throws Exception { ExtensionFactory.create("correctExtension", "1") Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java 2010-09-14 08:32:49 UTC (rev 308) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java 2010-09-14 09:46:16 UTC (rev 309) @@ -86,11 +86,11 @@ public void testRequire() throws Exception { WikittyExtension extension = new WikittyExtension("Extension", "1", null, WikittyUtil.buildFieldMapExtension("String value")); - WikittyExtension extension1 = new WikittyExtension("Extension 1", "1", "Extension", + WikittyExtension extension1 = new WikittyExtension("Extension1", "1", "Extension", WikittyUtil.buildFieldMapExtension("String value")); - WikittyExtension extension11 = new WikittyExtension("Extension 11", "1", "Extension 1", + WikittyExtension extension11 = new WikittyExtension("Extension11", "1", "Extension1", WikittyUtil.buildFieldMapExtension("String value")); - WikittyExtension extension2 = new WikittyExtension("Extension 2", "1", "Extension", + WikittyExtension extension2 = new WikittyExtension("Extension2", "1", "Extension", WikittyUtil.buildFieldMapExtension("String value")); Wikitty wikitty = createWikitty("Extension.value = 123", @@ -102,10 +102,10 @@ result = wikitty.getExtensionDependencies("Extension", false); assertEquals(2, result.size()); - result = wikitty.getExtensionDependencies("Extension 1", true); + result = wikitty.getExtensionDependencies("Extension1", true); assertEquals(1, result.size()); - result = wikitty.getExtensionDependencies("Extension 2", true); + result = wikitty.getExtensionDependencies("Extension2", true); assertEquals(0, result.size()); } }
participants (1)
-
echatellier@users.nuiton.org