|
Groovy example source code file (Base64Test.groovy)
The Groovy Base64Test.groovy source codepackage groovy class Base64Test extends GroovyTestCase { String testString = '\u00A71234567890-=\u00B1!@\u00A3\$%^&*()_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;\'\\ASDFGHJKL:"|`zxcvbnm,./~ZXCVBNM<>?\u0003\u00ff\u00f0\u000f' byte[] testBytes = testString.getBytes("ISO-8859-1") void testCodec() { // turn the bytes back into a string for later comparison def savedString = new String(testBytes, "ISO-8859-1") def encodedBytes = testBytes.encodeBase64().toString() def decodedBytes = encodedBytes.decodeBase64() def decodedString = new String(decodedBytes, "ISO-8859-1") assert decodedString.equals(testString) assert decodedString.equals(savedString) } // embedding special characters in a string without unicode will yield platform // specific results but should still convert back to what it started with void testCodecSpecialCharacters() { def specialString = "§±£" def specialBytes = specialString.getBytes("ISO-8859-1") // turn the bytes back into a string for later comparison def savedString = new String(specialBytes, "ISO-8859-1") def encodedBytes = specialBytes.encodeBase64().toString() def decodedBytes = encodedBytes.decodeBase64() def decodedString = new String(decodedBytes, "ISO-8859-1") assert decodedString.equals(savedString) } void testChunking() { def encodedBytes = testBytes.encodeBase64(true).toString() // Make sure the encoded, chunked data ends with '\r\n', the chunk separator per RFC 2045 (see also RFC 4648) assert encodedBytes.endsWith("\r\n") def lines = encodedBytes.split() def line0 = lines[0].trim() def line1 = lines[1].trim() // it's important that the data is chunked to 76 characters, per the spec assert line0.size() == 76 assert line0 == 'pzEyMzQ1Njc4OTAtPbEhQKMkJV4mKigpXytxd2VydHl1aW9wW11RV0VSVFlVSU9Qe31hc2RmZ2hq' assert line1 == 'a2w7J1xBU0RGR0hKS0w6InxgenhjdmJubSwuL35aWENWQk5NPD4/A//wDw==' } void testNonChunked() { def encodedBytes = testBytes.encodeBase64().toString() assert encodedBytes == 'pzEyMzQ1Njc4OTAtPbEhQKMkJV4mKigpXytxd2VydHl1aW9wW11RV0VSVFlVSU9Qe31hc2RmZ2hqa2w7J1xBU0RGR0hKS0w6InxgenhjdmJubSwuL35aWENWQk5NPD4/A//wDw==' } } Other Groovy examples (source code examples)Here is a short list of links related to this Groovy Base64Test.groovy source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.