예제 #1
0
    public void PatternMask_Backspace()
    {
        var mask = new PatternMask("(+00) 000 0000"); // no placeholder

        mask.ToString().Should().Be("|");
        mask.Insert("43abc1235678901234");
        mask.ToString().Should().Be("(+43) 123 5678|");
        // Backspace key
        mask.Backspace();
        mask.ToString().Should().Be("(+43) 123 567|");
        mask.CaretPos = 0;
        mask.ToString().Should().Be("|(+43) 123 567");
        mask.Backspace();
        mask.ToString().Should().Be("|(+43) 123 567");
        mask.CaretPos = 6;
        mask.ToString().Should().Be("(+43) |123 567");
        mask.Backspace();
        mask.ToString().Should().Be("(+4|1) 235 67");
        mask.Backspace();
        mask.ToString().Should().Be("(+|12) 356 7");
        mask.Backspace();
        mask.ToString().Should().Be("|(+12) 356 7");
        mask.Insert("4309");
        mask.ToString().Should().Be("(+43) 09|1 2356");
    }
예제 #2
0
    public void PatternMask_Selection()
    {
        var mask = new PatternMask("(+00) 000 0000"); // no placeholder

        mask.ToString().Should().Be("|");
        mask.Insert("43abc1235678901234");
        mask.ToString().Should().Be("(+43) 123 5678|");
        // set selection
        mask.Selection = (-1, 111);
        mask.ToString().Should().Be("[(+43) 123 5678]");
        mask.CaretPos  = 0;
        mask.Selection = (1, 1);
        mask.ToString().Should().Be("(|+43) 123 5678");
        mask.Selection = (3, 11);
        mask.ToString().Should().Be("(+4[3) 123 5]678");
        // input with selection
        mask.Insert("9");
        mask.ToString().Should().Be("(+49) |678 ");
        mask.Selection = (0, 6);
        mask.ToString().Should().Be("[(+49) ]678 ");
        mask.Insert("01");
        mask.ToString().Should().Be("(+01) |678 ");
        // del with selection
        mask.Selection = (0, 6);
        mask.ToString().Should().Be("[(+01) ]678 ");
        mask.Delete();
        mask.ToString().Should().Be("|(+67) 8");
        // backspace with selection
        mask.Selection = (0, 6);
        mask.ToString().Should().Be("[(+67) ]8");
        mask.Backspace();
        mask.ToString().Should().Be("|(+8");
        mask = new PatternMask("00 00")
        {
            Placeholder = '_'
        };
        mask.Insert("1234");
        mask.ToString().Should().Be("12 34|");
        mask.Backspace();
        mask.ToString().Should().Be("12 3|_");
        mask.Selection = (0, 2);
        mask.ToString().Should().Be("[12] 3_");
        mask.Backspace();
        mask.ToString().Should().Be("|3_ __");
    }
예제 #3
0
    public void PatternMask_ChangeMaskChars()
    {
        var mask = new PatternMask("(bb+) 999-bb")
        {
            MaskChars = new MaskChar[] { MaskChar.Letter('b'), MaskChar.Digit('9'), MaskChar.LetterOrDigit('+'), },
        };

        mask.Insert("xyz");
        mask.ToString().Should().Be("(xyz) |");
        mask.Backspace();
        mask.ToString().Should().Be("(xy|");
        mask.Insert("1234");
        mask.ToString().Should().Be("(xy1) 234-|");
    }