28 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Factor
		
	
	
| USING: kernel tools.test base64 strings sequences
 | |
| io.encodings.string io.encodings.ascii ;
 | |
| IN: base64.tests
 | |
| 
 | |
| [ "abcdefghijklmnopqrstuvwxyz" ] [ "abcdefghijklmnopqrstuvwxyz" ascii encode >base64 base64> ascii decode
 | |
| ] unit-test
 | |
| [ "" ] [ "" ascii encode >base64 base64> ascii decode ] unit-test
 | |
| [ "a" ] [ "a" ascii encode >base64 base64> ascii decode ] unit-test
 | |
| [ "ab" ] [ "ab" ascii encode >base64 base64> ascii decode ] unit-test
 | |
| [ "abc" ] [ "abc" ascii encode >base64 base64> ascii decode ] unit-test
 | |
| [ "abcde" ] [ "abcde" ascii encode >base64 3 cut "\r\n" swap 3append base64> ascii decode ] unit-test
 | |
| 
 | |
| ! From http://en.wikipedia.org/wiki/Base64
 | |
| [ "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=" ]
 | |
| [
 | |
|     "Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure."
 | |
|     ascii encode >base64 >string
 | |
| ] unit-test
 | |
| 
 | |
| [ "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz\r\nIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg\r\ndGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu\r\ndWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo\r\nZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=" ]
 | |
| [
 | |
|     "Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure."
 | |
|     ascii encode >base64-lines >string
 | |
| ] unit-test
 | |
| 
 | |
| [ { 33 52 17 40 12 51 33 43 18 33 23 } base64> ]
 | |
| [ malformed-base64? ] must-fail-with
 |