<commit_before>describe("Typing Specifications", function() {
	var input;   
	
	beforeEach(function(){
		 input = 
			$("<input />")
			.appendTo("body"); 
	});
	    
    afterEach(function(){
        input.remove();
    });
    
    describe("with a mask containing a literal", function(){
		beforeEach(function(){
			 runs(function(){
			 	input
			 	.mask("9-9")
			 	.focus();				 
			 });
			 waits(1);		 
		});
			
		describe("when typing an incomplete mask",function(){
			beforeEach(function(){
				input.mashKeys('1');
			});		
		
			it("should have the correct placeholder text", function(){	
				expect(input).toHaveValue('1-_');           
			});
			
			it("should have the correct caret position", function(){
				var caret=input.caret();
				expect(caret.begin).toEqual(2);            
				expect(caret.end).toEqual(2);
			});
			
			describe("when blurring", function(){
				beforeEach(function(){
					input.blur();
				});
				
				it("should have an empty value", function(){
					expect(input).toHaveValue('');            
				});
			});
		});
		
		describe("when typing a complete mask",function(){
			beforeEach(function(){
				input.mashKeys('16');
			});	
		
			it("should have the correct placeholder text", function(){	
				expect(input).toHaveValue('1-6');           
			});
			
			it("should have the correct caret position", function(){
				var caret=input.caret();
				expect(caret.begin).toEqual(3);            
				expect(caret.end).toEqual(3);
			});
			
			describe("when blurring", function(){
				beforeEach(function(){
					input.blur();
				});
				
				it("should retain the value", function(){
					expect(input).toHaveValue('1-6');            
				});
			});
		});		
	});

	describe("with caret position to the left of a character",function(){
		describe("when character to right matches the next mask definition",function(){
			beforeEach(function(){
				runs(function(){
					input
					.mask("99")
					.focus()						<commit_msg>Removing typing specifications which are covered by the focus specs.<commit_after>describe("Typing Specifications", function() {

	describe("with caret position to the left of a character",function(){
		describe("when character to right matches the next mask definition",function(){
			beforeEach(function(){
				runs(function(){
					input
					.mask("99")
					.focus()						
{'fraction_non_alphanumeric': 0.1587909748829289, 'fraction_numerical': 0.008088548318433376, 'mean_word_length': 2.7360890302066774, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4583528', 'n_tokens_mistral': 899, 'n_tokens_neox': 657, 'n_words': 157}