Esempio n. 1
0
        public void BS_ReverseWrapRequiresDECAWM()
        {
            //esccmd.DECRESET (esccmd.DECAWM)
            //esccmd.DECSET (esccmd.ReverseWraparound)
            //esccmd.CUP (Point (1, 3))
            //escio.Write (esc.BS)
            //AssertEQ (GetCursorPosition (), Point (1, 3))

            //esccmd.DECSET (esccmd.DECAWM)
            //esccmd.DECRESET (esccmd.ReverseWraparound)
            //esccmd.CUP (Point (1, 3))
            //escio.Write (esc.BS)
            //AssertEQ (GetCursorPosition (), Point (1, 3))

            // TODO: DECSET wrappers
            Terminal.Wraparound = false;
            Terminal.csiDECSET(CsiCommandCodes.ReverseWraparound);

            Terminal.csiCUP((1, 3));
            Terminal.Backspace();
            Terminal.AssertCursorPosition(1, 3);

            Terminal.Wraparound        = true;
            Terminal.ReverseWraparound = false;
            Terminal.csiCUP((1, 3));
            Terminal.Backspace();
            Terminal.AssertCursorPosition(1, 3);
        }
Esempio n. 2
0
 public void BS_NoWrapByDefault()
 {
     //esccmd.CUP(Point(1, 3))
     //escio.Write(esc.BS)
     //AssertEQ(GetCursorPosition(), Point(1, 3))
     Terminal.csiCUP((1, 3));
     Terminal.Backspace();
     Terminal.AssertCursorPosition(1, 3);
 }
Esempio n. 3
0
 public void BS_StopsAtOrigin()
 {
     //esccmd.CUP(Point(1, 1))
     //escio.Write(esc.BS)
     //AssertEQ(GetCursorPosition(), Point(1, 1))
     Terminal.csiCUP((1, 1));
     Terminal.Backspace();
     Terminal.AssertCursorPosition(1, 1);
 }
Esempio n. 4
0
 public void BS_Basic()
 {
     //esccmd.CUP(Point(3, 3))
     //escio.Write(esc.BS)
     //AssertEQ (GetCursorPosition(), Point(2, 3))
     Terminal.csiCUP((3, 3));
     Terminal.Backspace();
     Terminal.AssertCursorPosition(2, 3);
 }
Esempio n. 5
0
 public void BS_MovesLeftWhenLeftOfLeftMargin()
 {
     //esccmd.DECSET(esccmd.DECLRMM)
     //esccmd.DECSLRM(5, 10)
     //esccmd.CUP(Point(4, 1))
     //escio.Write(esc.BS)
     //esccmd.DECRESET(esccmd.DECLRMM)
     //AssertEQ(GetCursorPosition(), Point(3, 1))
     Terminal.csiDECSET(CsiCommandCodes.DECLRMM);
     Terminal.csiDECSLRM(5, 10);
     Terminal.csiCUP((4, 1));
     Terminal.Backspace();
     Terminal.MarginMode = false;
     Terminal.AssertCursorPosition(3, 1);
 }
Esempio n. 6
0
        public void BS_WrapsInWraparoundMode()
        {
            //esccmd.DECSET (esccmd.DECAWM)
            //esccmd.DECSET (esccmd.ReverseWraparound)
            //esccmd.CUP (Point (1, 3))
            //escio.Write (esc.BS)
            //size = GetScreenSize ()
            //AssertEQ (GetCursorPosition (), Point (size.width (), 2))
            Terminal.csiDECSET(CsiCommandCodes.DECAWM);
            Terminal.csiDECSET(CsiCommandCodes.ReverseWraparound);
            Terminal.csiCUP((1, 3));
            Terminal.Backspace();
            var sz = Terminal.GetScreenSize();

            Terminal.AssertCursorPosition(sz.cols, 2);
        }
Esempio n. 7
0
 public void BS_ReverseWrapWithLeftRight()
 {
     //esccmd.DECSET(esccmd.DECAWM)
     //esccmd.DECSET(esccmd.ReverseWraparound)
     //esccmd.DECSET(esccmd.DECLRMM)
     //esccmd.DECSLRM(5, 10)
     //esccmd.CUP(Point(5, 3))
     //escio.Write(esc.BS)
     //AssertEQ(GetCursorPosition(), Point(10, 2))
     Terminal.csiDECSET(CsiCommandCodes.DECAWM);
     Terminal.csiDECSET(CsiCommandCodes.ReverseWraparound);
     Terminal.csiDECSET(CsiCommandCodes.DECLRMM);
     Terminal.csiDECSLRM(5, 10);
     Terminal.csiCUP((5, 3));
     Terminal.Backspace();
     Terminal.AssertCursorPosition(10, 2);
 }
Esempio n. 8
0
        public void BS_CursorStartsInDoWrapPosition()
        {
            //"""Cursor is right of right edge of screen."""
            //size = GetScreenSize()
            //esccmd.CUP(Point(size.width() - 1, 1))
            //escio.Write("ab")
            //escio.Write(esc.BS)
            //escio.Write("X")
            //AssertScreenCharsInRectEqual(Rect(size.width() - 1, 1, size.width(), 1), ["Xb"])
            var size = Terminal.GetScreenSize();

            Terminal.csiCUP((size.cols - 1, 1));
            Terminal.Feed("ab");
            Terminal.Backspace();
            Terminal.Feed("X");

            AssertScreenCharsInRectEqual((size.cols - 1, 1, size.cols, 1), "Xb");
        }
Esempio n. 9
0
        public void BS_ReversewrapFromLeftEdgeToRightMargin()
        {
            //"""If cursor starts at left edge of screen, left of left margin, backspace
            //takes it to the right margin."""
            //esccmd.DECSET(esccmd.DECAWM)
            //esccmd.DECSET(esccmd.ReverseWraparound)
            //esccmd.DECSET(esccmd.DECLRMM)
            //esccmd.DECSLRM(5, 10)
            //esccmd.CUP(Point(1, 3))
            //escio.Write(esc.BS)
            //AssertEQ(GetCursorPosition(), Point(10, 2))

            Terminal.csiDECSET(CsiCommandCodes.DECAWM);
            Terminal.csiDECSET(CsiCommandCodes.ReverseWraparound);
            Terminal.csiDECSET(CsiCommandCodes.DECLRMM);
            Terminal.csiDECSLRM(5, 10);
            Terminal.csiCUP((1, 3));
            Terminal.Backspace();
            Terminal.AssertCursorPosition(10, 2);
        }