[DOXIA-546] DoxiaUtils#encodeId() produces invalid id
Simply use a dot instead of percent sign
git-svn-id: https://svn.apache.org/repos/asf/maven/doxia/doxia/trunk@1777819 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java b/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
index b0c9ca2..b50c4b6 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
@@ -259,16 +259,8 @@
for ( int j = 0; j < bytes.length; ++j )
{
- String hex = byteToHex( bytes[j] );
-
- buffer.append( '%' );
-
- if ( hex.length() == 1 )
- {
- buffer.append( '0' );
- }
-
- buffer.append( hex );
+ buffer.append( '.' );
+ buffer.append( String.format( "%02X", bytes[j] ) );
}
}
}
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/util/DoxiaUtilsTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/util/DoxiaUtilsTest.java
index 45b2a37..7b28d8e 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/util/DoxiaUtilsTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/util/DoxiaUtilsTest.java
@@ -159,10 +159,10 @@
assertEquals( DoxiaUtils.encodeId( "a b-c123 " ), "a_b-c123" );
assertEquals( DoxiaUtils.encodeId( " anchor" ), "anchor" );
assertEquals( DoxiaUtils.encodeId( "myAnchor" ), "myAnchor" );
- assertEquals( DoxiaUtils.encodeId( "my&Anchor" ), "my%26Anchor" );
- assertEquals( DoxiaUtils.encodeId( "H\u00E5kon" ), "H%c3%a5kon" );
+ assertEquals( DoxiaUtils.encodeId( "my&Anchor" ), "my.26Anchor" );
+ assertEquals( DoxiaUtils.encodeId( "H\u00E5kon" ), "H.C3.A5kon" );
assertEquals( DoxiaUtils.encodeId( "H\u00E5kon", true ), "Hkon" );
- assertEquals( DoxiaUtils.encodeId( "Theu\u00DFl" ), "Theu%c3%9fl" );
+ assertEquals( DoxiaUtils.encodeId( "Theu\u00DFl" ), "Theu.C3.9Fl" );
assertEquals( DoxiaUtils.encodeId( "Theu\u00DFl", true ), "Theul" );
}
@@ -188,6 +188,8 @@
assertTrue( DoxiaUtils.isValidId( "a." ) );
assertTrue( DoxiaUtils.isValidId( "index.html" ) );
assertFalse( DoxiaUtils.isValidId( "Theu\u00DFl" ) );
+ assertTrue( DoxiaUtils.isValidId( "Theu.C3.9Fl" ) );
+ assertFalse( DoxiaUtils.isValidId( "Theu%C3%9Fl" ) );
}
/**