Current File : /home/obaba/public_html/admin/assets/plugins/jquery.maskedinput/spec/Backspace.Spec.js |
feature("Backspace Key", function() {
story('User presses backspace with cursor to the right of a mask literal',function(){
scenario('character at cursor matches definition to the left',function(){
given("an input with a mask definition of '9-99'", function(){
input
.mask("9-99")
.mashKeys("123");
});
given("the input has cursor positioned to the right of literal", function(){
input.caret(2);
});
when("hitting the backspace key",function(){
input.mashKeys(function(keys){keys.type(keys.backspace)});
});
then("value should be correct",function(){
expect(input).toHaveValue('2-3_');
});
and("caret position should be correct",function(){
expect(input.caret().begin).toEqual(0);
});
});
scenario('character at cursor does not match definition to the left',function(){
given("an input with a mask definition of 'a-99'", function(){
input
.mask("a-99")
.mashKeys("z12");
});
given("the input has cursor positioned to the right of literal", function(){
input.caret(2);
});
when("hitting the backspace key",function(){
input.mashKeys(function(keys){keys.type(keys.backspace)});
});
then("value should be correct",function(){
expect(input).toHaveValue('_-12');
});
and("caret position should be correct",function(){
expect(input.caret().begin).toEqual(0);
});
});
});
story('User presses backspace with cursor on last character',function(){
scenario('cursor character matches definition to the left',function(){
given("an input with a mask definition of '99'", function(){
input
.mask("99")
.mashKeys("12");
});
given("the input has cursor positioned on first character", function(){
input.caret(1);
});
when("hitting the backspace key",function(){
input.mashKeys(function(keys){keys.type(keys.backspace)});
});
then("value should be correct",function(){
expect(input).toHaveValue('2_');
});
and("caret position should be correct",function(){
expect(input.caret().begin).toEqual(0);
});
});
scenario('cursor character does not match definition to the left',function(){
given("an input with a mask definition of '9a'", function(){
input
.mask("9a")
.mashKeys("1z");
});
given("the input has cursor positioned on first character", function(){
input.caret(1);
});
when("hitting the backspace key",function(){
input.mashKeys(function(keys){keys.type(keys.backspace)});
});
then("value should be correct",function(){
expect(input).toHaveValue('_z');
});
and("caret position should be correct",function(){
expect(input.caret().begin).toEqual(0);
});
});
describe('There is a mask literal between the two placeholders',function(){
scenario('character at end matches definition of first position',function(){
given("an input with a mask definition of '9-9'", function(){
input
.mask("9-9")
.mashKeys("12");
});
given("the input has cursor positioned on literal", function(){
input.caret(1);
});
when("hitting the backspace key",function(){
input.mashKeys(function(keys){keys.type(keys.backspace)});
});
then("value should be correct",function(){
expect(input).toHaveValue('2-_');
});
and("caret position should be correct",function(){
expect(input.caret().begin).toEqual(0);
});
});
scenario('character at end does not match definition of first position',function(){
given("an input with a mask definition of '9-9'", function(){
input
.mask("9-a")
.mashKeys("1z");
});
given("the input has cursor positioned on literal", function(){
input.caret(1);
});
when("hitting the backspace key",function(){
input.mashKeys(function(keys){keys.type(keys.backspace)});
});
then("value should be correct",function(){
expect(input).toHaveValue('_-z');
});
and("caret position should be correct",function(){
expect(input.caret().begin).toEqual(0);
});
});
});
});
});