| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- var test = require('tape')
 
- var b64 = require('../')
 
- var checks = [
 
-   'a',
 
-   'aa',
 
-   'aaa',
 
-   'hi',
 
-   'hi!',
 
-   'hi!!',
 
-   'sup',
 
-   'sup?',
 
-   'sup?!'
 
- ]
 
- test('convert to base64 and back', function (t) {
 
-   t.plan(checks.length * 2)
 
-   for (var i = 0; i < checks.length; i++) {
 
-     var check = checks[i]
 
-     var b64Str, arr, str
 
-     b64Str = b64.fromByteArray(map(check, function (char) { return char.charCodeAt(0) }))
 
-     arr = b64.toByteArray(b64Str)
 
-     str = map(arr, function (byte) { return String.fromCharCode(byte) }).join('')
 
-     t.equal(check, str, 'Checked ' + check)
 
-     t.equal(b64.byteLength(b64Str), arr.length, 'Checked length for ' + check)
 
-   }
 
- })
 
- function map (arr, callback) {
 
-   var res = []
 
-   var kValue, mappedValue
 
-   for (var k = 0, len = arr.length; k < len; k++) {
 
-     if ((typeof arr === 'string' && !!arr.charAt(k))) {
 
-       kValue = arr.charAt(k)
 
-       mappedValue = callback(kValue, k, arr)
 
-       res[k] = mappedValue
 
-     } else if (typeof arr !== 'string' && k in arr) {
 
-       kValue = arr[k]
 
-       mappedValue = callback(kValue, k, arr)
 
-       res[k] = mappedValue
 
-     }
 
-   }
 
-   return res
 
- }
 
 
  |