UNPKG

jquery.maskedinput2

Version:
187 lines (174 loc) 4.99 kB
feature("Focusing A Masked Input",function(){ scenario("Mask starts with a placeholder",function(){ given("a mask beginning with a placeholder",function(){ input.mask("9"); }); when("focusing",function(){ input.focus(); }); waits(20); then("placeholder text should be correct",function(){ expect(input).toHaveValue('_'); }); and("caret position should be correct",function(){ var caret=input.caret(); expect(caret.begin).toEqual(0); expect(caret.end).toEqual(0); }); }); scenario("Mask starts with a literal",function(){ given("a mask beginning with a literal",function(){ input.mask("(9)"); }); when("focusing",function(){ input.focus(); }); waits(20); then("placeholder text should be correct",function(){ expect(input).toHaveValue('(_)'); }); and("caret position should be correct",function(){ var caret=input.caret(); expect(caret.begin).toEqual(1); expect(caret.end).toEqual(1); }); }); scenario("Mask starts with a literal that fits first placeholder",function(){ given("a mask beginning with a literal",function(){ input.mask("19").focus(); }); waits(20); when("blurring",function(){ input.blur(); }); waits(20); then("input value should be correct",function(){ expect(input).toHaveValue(''); }); }); scenario("Mask starts with a literal that fits first placeholder and autoclear set to false",function(){ given("a mask beginning with a literal",function(){ input.mask("?19",{autoclear: false}).focus(); }); waits(20); when("blurring",function(){ input.blur(); }); waits(20); then("input value should be correct",function(){ expect(input).toHaveValue(''); }); }); scenario("Masking a hidden input",function(){ var error; $(window).on("error.test",function(err){error=err;}) given("a mask on a hidden input",function(){ input.hide().mask("9"); }); when("focusing input",function(){ input.focus(); }); waits(1); then("should not throw an error",function(){ expect(error).toBeUndefined(); }) }); scenario("Mask contains a partial value with autoclear set to false",function(){ given("the input has a partial value",function(){ input.val("1"); }); given("a mask with two placeholders and autoclear=false",function(){ input.mask("99", { autoclear: false }); }); when("focusing on the input",function(){ input.focus(); }); then("the value should be partially filled out",function(){ expect(input).toHaveValue("1_"); }); then("the input partial value should remain",function(){ expect(input).toHaveValue("1_"); }); }); scenario("Mask containing optional mask ?",function(){ given("the input has a partial value",function(){ input.val("99"); }); given("a optional mask on input",function(){ input.mask("9?9"); }); when("focusing input",function(){ input.focus(); }); waits(1); then("caret position should be correct",function(){ var caret=input.caret(); expect(caret.begin).toEqual(0); expect(caret.end).toEqual(2); }); }); }); feature("Leaving A Masked Input",function(){ scenario("All placeholders filled",function(){ given("a mask with two placeholders",function(){ input.mask("99"); }); when("typing two characters and blurring",function(){ input.mashKeys("12").blur(); }); then("value should be correct",function(){ expect(input).toHaveValue("12"); }); }); scenario("Empty placeholders remaining",function(){ given("a mask with two placeholders",function(){ input.mask("99"); }); when("typing one character and blurring",function(){ input.mashKeys("1").blur(); }); then("value should be empty",function(){ expect(input).toHaveValue(""); }); }); scenario("Mask ending in literal",function(){ given("a mask ending in a literal",function(){ input.mask("99!"); }); when("typing two characters and blurring",function(){ input.mashKeys("12").blur(); }); then("value should remain",function(){ expect(input).toHaveValue("12!"); }); }); scenario("Empty placeholders remaining with autoclear set to false",function(){ given("a mask with two placeholders",function(){ input.mask("99", { autoclear: false }); }); when("typing one character and blurring",function(){ input.caret(0); input.mashKeys("1") input.blur(); }); then("value should remain visible with placeholders",function(){ expect(input).toHaveValue("1_"); }); }); scenario("Shifts characters left on blur with autoclear false",function(){ given("a mask with 10 placeholders",function(){ input.mask("(999) 999-9999", { autoclear: false }); }); when("focusing input",function(){ input.focus(); }); waits(20); when("typing characters at the end of the mask and blurring",function(){ input.caret(12); input.mashKeys("44").blur(); }); then("characters should shift left to beginning of mask",function(){ expect(input).toHaveValue("(44_) ___-____"); }); }); });