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.
		
		
		
		
		
			
		
			
				
					36 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					36 lines
				
				1.1 KiB
			| 
											3 years ago
										 | import parseIncompletePhoneNumber, { parsePhoneNumberCharacter } from './parseIncompletePhoneNumber.js' | ||
|  | 
 | ||
|  | describe('parseIncompletePhoneNumber', () => { | ||
|  | 	it('should parse phone number character', () => { | ||
|  | 		// Accepts leading `+`.
 | ||
|  | 		parsePhoneNumberCharacter('+').should.equal('+') | ||
|  | 
 | ||
|  | 		// Doesn't accept non-leading `+`.
 | ||
|  | 		expect(parsePhoneNumberCharacter('+', '+')).to.be.undefined | ||
|  | 
 | ||
|  | 		// Parses digits.
 | ||
|  | 		parsePhoneNumberCharacter('1').should.equal('1') | ||
|  | 
 | ||
|  | 		// Parses non-European digits.
 | ||
|  | 		parsePhoneNumberCharacter('٤').should.equal('4') | ||
|  | 
 | ||
|  | 		// Dismisses other characters.
 | ||
|  | 		expect(parsePhoneNumberCharacter('-')).to.be.undefined | ||
|  | 	}) | ||
|  | 
 | ||
|  | 	it('should parse incomplete phone number', () => { | ||
|  | 		parseIncompletePhoneNumber('').should.equal('') | ||
|  | 
 | ||
|  | 		// Doesn't accept non-leading `+`.
 | ||
|  | 		parseIncompletePhoneNumber('++').should.equal('+') | ||
|  | 
 | ||
|  | 		// Accepts leading `+`.
 | ||
|  | 		parseIncompletePhoneNumber('+7 800 555').should.equal('+7800555') | ||
|  | 
 | ||
|  | 		// Parses digits.
 | ||
|  | 		parseIncompletePhoneNumber('8 (800) 555').should.equal('8800555') | ||
|  | 
 | ||
|  | 		// Parses non-European digits.
 | ||
|  | 		parseIncompletePhoneNumber('+٤٤٢٣٢٣٢٣٤').should.equal('+442323234') | ||
|  | 	}) | ||
|  | }) |