1 36 package org.columba.ristretto.coder; 37 38 import java.nio.charset.Charset ; 39 40 import junit.framework.TestCase; 41 42 public class QuotedPrintableTest extends TestCase { 43 44 48 public QuotedPrintableTest(String arg0) { 49 super(arg0); 50 } 51 52 public void testDecodeNone() { 53 String input = "This is a Test"; 54 CharSequence result = QuotedPrintable.decode(input, Charset.forName("US-ASCII")); 55 56 assertTrue(result.toString().equals("This is a Test")); 57 } 58 59 public void testDecodeSimple() { 60 String input = "This is a =" + Integer.toHexString((int)'T')+ "est"; 61 CharSequence result = QuotedPrintable.decode(input, Charset.forName("US-ASCII")); 62 63 assertTrue(result.toString().equals("This is a Test")); 64 } 65 66 public void testDecodeMulti() { 67 String input = "This is a =FC=DCe"; 68 CharSequence result = QuotedPrintable.decode(input, Charset.forName("ISO-8859-1")); 69 70 assertTrue(result.toString().equals("This is a \u00fc\u00dce")); 71 } 72 73 public void testDecode8Bit() { 74 String input = "This is a =" + Integer.toHexString((int)'\u00dc')+ "est"; 75 CharSequence result = QuotedPrintable.decode(input, Charset.forName("ISO-8859-1")); 76 77 assertTrue(result.toString().equals("This is a \u00dcest")); 78 } 79 80 public void testDecodeSoftLB() { 81 String input = "This is a=\r\n Test"; 82 CharSequence result = QuotedPrintable.decode(input, Charset.forName("US-ASCII")); 83 84 assertTrue(result.toString().equals("This is a Test")); 85 } 86 87 public void testEncodedNone() { 88 String input = "This is a\tTest"; 89 CharSequence result = QuotedPrintable.encode(input, Charset.forName("US-ASCII")); 90 91 assertTrue(result.toString().equals("This is a\tTest")); 92 } 93 94 public void testEncodedSimple() { 95 String input = "This is a \u00e4est"; 96 CharSequence result = QuotedPrintable.encode(input, Charset.forName("ISO-8859-1")); 97 98 assertTrue(result.toString().equals("This is a =" + Integer.toHexString((int)'\u00e4').toUpperCase()+ "est")); 99 } 100 101 public void testEncodedLineBreak() { 102 String input = "This is a\r\n \u00e4est"; 103 CharSequence result = QuotedPrintable.encode(input, Charset.forName("ISO-8859-1")); 104 105 assertTrue(result.toString().equals("This is a\r\n =" + Integer.toHexString((int)'\u00e4').toUpperCase()+ "est")); 106 } 107 108 public void testEncodedLineBreakWhitespace1() { 109 String input = "This is a \r\n \u00e4est"; 110 CharSequence result = QuotedPrintable.encode(input, Charset.forName("ISO-8859-1")); 111 112 assertTrue(result.toString().equals("This is a=20\r\n =" + Integer.toHexString((int)'\u00e4').toUpperCase()+ "est")); 113 } 114 115 public void testEncodedLineBreakWhitespace2() { 116 String input = "This is a very long line that has in total some f\u00e4nfundsiebzig +1 characters"; 117 CharSequence result = QuotedPrintable.encode(input, Charset.forName("ISO-8859-1")); 118 119 assertTrue(result.toString().equals("This is a very long line that has in total some f=" + Integer.toHexString((int)'\u00e4').toUpperCase()+"nfundsiebzig +1 charact=\r\ners")); 120 } 121 122 } 123 | Popular Tags |