You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					48 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					48 lines
				
				1.6 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								if (process.env.OBJECT_IMPL) global.TYPED_ARRAY_SUPPORT = false
							 | 
						||
| 
								 | 
							
								var B = require('../').Buffer
							 | 
						||
| 
								 | 
							
								var test = require('tape')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('base64: ignore whitespace', function (t) {
							 | 
						||
| 
								 | 
							
								  var text = '\n   YW9ldQ==  '
							 | 
						||
| 
								 | 
							
								  var buf = new B(text, 'base64')
							 | 
						||
| 
								 | 
							
								  t.equal(buf.toString(), 'aoeu')
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('base64: strings without padding', function (t) {
							 | 
						||
| 
								 | 
							
								  t.equal((new B('YW9ldQ', 'base64').toString()), 'aoeu')
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('base64: newline in utf8 -- should not be an issue', function (t) {
							 | 
						||
| 
								 | 
							
								  t.equal(
							 | 
						||
| 
								 | 
							
								    new B('LS0tCnRpdGxlOiBUaHJlZSBkYXNoZXMgbWFya3MgdGhlIHNwb3QKdGFnczoK', 'base64').toString('utf8'),
							 | 
						||
| 
								 | 
							
								    '---\ntitle: Three dashes marks the spot\ntags:\n'
							 | 
						||
| 
								 | 
							
								  )
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('base64: newline in base64 -- should get stripped', function (t) {
							 | 
						||
| 
								 | 
							
								  t.equal(
							 | 
						||
| 
								 | 
							
								    new B('LS0tCnRpdGxlOiBUaHJlZSBkYXNoZXMgbWFya3MgdGhlIHNwb3QKdGFnczoK\nICAtIHlhbWwKICAtIGZyb250LW1hdHRlcgogIC0gZGFzaGVzCmV4cGFuZWQt', 'base64').toString('utf8'),
							 | 
						||
| 
								 | 
							
								    '---\ntitle: Three dashes marks the spot\ntags:\n  - yaml\n  - front-matter\n  - dashes\nexpaned-'
							 | 
						||
| 
								 | 
							
								  )
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('base64: tab characters in base64 - should get stripped', function (t) {
							 | 
						||
| 
								 | 
							
								  t.equal(
							 | 
						||
| 
								 | 
							
								    new B('LS0tCnRpdGxlOiBUaHJlZSBkYXNoZXMgbWFya3MgdGhlIHNwb3QKdGFnczoK\t\t\t\tICAtIHlhbWwKICAtIGZyb250LW1hdHRlcgogIC0gZGFzaGVzCmV4cGFuZWQt', 'base64').toString('utf8'),
							 | 
						||
| 
								 | 
							
								    '---\ntitle: Three dashes marks the spot\ntags:\n  - yaml\n  - front-matter\n  - dashes\nexpaned-'
							 | 
						||
| 
								 | 
							
								  )
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('base64: invalid non-alphanumeric characters -- should be stripped', function (t) {
							 | 
						||
| 
								 | 
							
								  t.equal(
							 | 
						||
| 
								 | 
							
								    new B('!"#$%&\'()*,.:;<=>?@[\\]^`{|}~', 'base64').toString('utf8'),
							 | 
						||
| 
								 | 
							
								    ''
							 | 
						||
| 
								 | 
							
								  )
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 |