Ejemplo n.º 1
0
    public void PatternMask_Placeholder()
    {
        var mask = new PatternMask("(+00) 000 0000")
        {
            Placeholder = '_'
        };

        mask.ToString().Should().Be("|");
        mask.Text.Should().BeNullOrEmpty();
        mask.Insert("x");
        mask.ToString().Should().Be("|");
        mask.Text.Should().Be("");
        mask.Clear();
        mask.Text.Should().BeNullOrEmpty();
        mask.ToString().Should().Be("|");
        mask.Insert("43");
        mask.Text.Should().Be("(+43) ___ ____");
        mask.ToString().Should().Be("(+43) |___ ____");
        mask.Insert("abc123");
        mask.ToString().Should().Be("(+43) 123 |____");
        mask.Insert("5678901234");
        mask.ToString().Should().Be("(+43) 123 5678|");
        // del key
        mask.Delete();
        mask.ToString().Should().Be("(+43) 123 5678|");
        mask.CaretPos = 0;
        mask.ToString().Should().Be("|(+43) 123 5678");
        mask.Delete();
        mask.ToString().Should().Be("(+|31) 235 678_");
        mask.Delete();
        mask.ToString().Should().Be("(+|12) 356 78__");
        mask.Insert("430");
        mask.ToString().Should().Be("(+43) 0|12 3567");
    }
Ejemplo n.º 2
0
    public void PatternMask_UpdateFrom()
    {
        var mask = new PatternMask("(aaa) 000");

        mask.MaskChars.Length.Should().Be(3); // '0', 'a' and '*'
        mask.CleanDelimiters.Should().BeFalse();
        mask.Placeholder.Should().BeNull();
        mask.SetText("abc12");
        mask.Selection = (1, 2);
        mask.ToString().Should().Be("([a]bc) 12");
        mask.UpdateFrom(new PatternMask("999")
        {
            Placeholder = '#', MaskChars = new [] { new MaskChar('9', "[0-9]") }, CleanDelimiters = true
        });
        mask.MaskChars.Length.Should().Be(1); // '9'
        mask.MaskChars[0].Char.Should().Be('9');
        mask.MaskChars[0].Regex.Should().Be("[0-9]");
        mask.CleanDelimiters.Should().BeTrue();
        mask.Placeholder.Should().Be('#');
        // state should be preserved (Text, Caret/Selection)
        mask.ToString().Should().Be("1[2]#");
        mask.UpdateFrom(null);
        mask.MaskChars.Length.Should().Be(1); // '9'
        mask.MaskChars[0].Char.Should().Be('9');
        mask.MaskChars[0].Regex.Should().Be("[0-9]");
        mask.CleanDelimiters.Should().BeTrue();
        mask.Placeholder.Should().Be('#');
        // state should be preserved (Text, Caret/Selection)
        mask.ToString().Should().Be("1[2]#");
    }
Ejemplo n.º 3
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");
    }
Ejemplo n.º 4
0
    public void PatternMask_Delete()
    {
        var mask = new PatternMask("(+00) 000 0000"); // no placeholder

        mask.ToString().Should().Be("|");
        mask.Insert("43");
        mask.Text.Should().Be("(+43) ");
        mask.ToString().Should().Be("(+43) |");
        mask.Insert("abc123");
        mask.ToString().Should().Be("(+43) 123 |");
        mask.Insert("5678901234");
        mask.ToString().Should().Be("(+43) 123 5678|");
        // del key
        mask.Delete();
        mask.ToString().Should().Be("(+43) 123 5678|");
        mask.CaretPos = 0;
        mask.ToString().Should().Be("|(+43) 123 5678");
        mask.Delete();
        mask.ToString().Should().Be("(+|31) 235 678");
        mask.Delete();
        mask.ToString().Should().Be("(+|12) 356 78");
        mask.Insert("430");
        mask.ToString().Should().Be("(+43) 0|12 3567");
        mask.Selection = (2, 77);
        mask.ToString().Should().Be("(+[43) 012 3567]");
        mask.Delete();
        mask.ToString().Should().Be("|");
        mask.Text.Should().Be("");
        mask.GetCleanText().Should().Be("");
    }
Ejemplo n.º 5
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-|");
    }
Ejemplo n.º 6
0
    public void PatternMask_TransformationFunc()
    {
        var mask = new PatternMask("(aaa) 000")
        {
            Transformation  = c => c.ToString().ToUpperInvariant()[0],
            CleanDelimiters = true,
        };

        mask.Insert("xyä123");
        mask.ToString().Should().Be("(XYÄ) 123|");
        mask.GetCleanText().Should().Be("XYÄ123");
        mask.SetText("ABß...");
        mask.ToString().Should().Be("(ABß) |");
        mask.GetCleanText().Should().Be("ABß");
    }
Ejemplo n.º 7
0
    public void PatternMask_AutoFilling()
    {
        var mask = new PatternMask("---0---");

        mask.ToString().Should().Be("|");
        mask.Insert("1");
        mask.Text.Should().Be("---1---");
        mask.ToString().Should().Be("---1---|");
        mask.CaretPos = 1;
        mask.ToString().Should().Be("-|--1---");
        mask.Insert("x");
        mask.Text.Should().Be("---1---");
        mask.ToString().Should().Be("---|1---");
        mask.Insert("9");
        mask.Text.Should().Be("---9---");
        mask.ToString().Should().Be("---9---|");
    }
Ejemplo n.º 8
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_ __");
    }
Ejemplo n.º 9
0
    public void PatternMask_Insert()
    {
        var mask = new PatternMask("(aa) 00-0");

        mask.ToString().Should().Be("|");
        mask.Insert("?");
        mask.ToString().Should().Be("|");
        mask.Insert("ab123");
        mask.Text.Should().Be("(ab) 12-3");
        mask.ToString().Should().Be("(ab) 12-3|");
        mask.CaretPos = 2;
        mask.ToString().Should().Be("(a|b) 12-3");
        mask.Insert("x");
        mask.ToString().Should().Be("(ax) |12-3");
        mask.Text.Should().Be("(ax) 12-3");
        mask.Insert("9");
        mask.ToString().Should().Be("(ax) 9|1-2");
        mask.Text.Should().Be("(ax) 91-2");
        mask.Insert("99");
        mask.ToString().Should().Be("(ax) 99-9|");
        mask.Text.Should().Be("(ax) 99-9");
        mask.Insert("xyz1234");
        mask.ToString().Should().Be("(ax) 99-9|");
        mask.Text.Should().Be("(ax) 99-9");
        mask.Clear();
        mask.ToString().Should().Be("|");
        mask.Text.Should().Be("");
        mask.Insert("1");
        mask.ToString().Should().Be("|");
        mask.Text.Should().Be("");
        mask.Insert("x");
        mask.ToString().Should().Be("(x|");
        mask.Text.Should().Be("(x");
        mask.Insert("y");
        mask.ToString().Should().Be("(xy) |");
        mask.Text.Should().Be("(xy) ");
        mask.Insert("z");
        mask.ToString().Should().Be("(xy) |");
        mask.Text.Should().Be("(xy) ");
        // paste
        mask.Clear();
        mask.Insert("(XX) 99-9");
        mask.ToString().Should().Be("(XX) 99-9|");
    }
Ejemplo n.º 10
0
    public void PatternMask_CleaningPlaceholder()
    {
        var mask = new PatternMask("(+00) 000 0000")
        {
            Placeholder = '_'
        };

        mask.Insert("x");
        mask.ToString().Should().Be("|");
        mask.Text.Should().Be("");
        mask.GetCleanText().Should().Be("");
        mask.Insert("123456789");
        mask.Text.Should().Be("(+12) 345 6789");
        mask.GetCleanText().Should().Be("(+12) 345 6789");
        mask.Clear();
        mask.CleanDelimiters = true;
        mask.GetCleanText().Should().Be("");
        mask.Insert("123456789");
        mask.Text.Should().Be("(+12) 345 6789");
        mask.GetCleanText().Should().Be("123456789");
    }