/** * Copyright (c) Red Hat, Inc., contributors and others 2004 - 2014. All rights reserved * * Licensed under the Eclipse Public License version 1.0, available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jboss.tools.aesh.core.internal.ansi; import org.junit.Assert; import org.junit.Test; public class DefaultCommandFactoryTest { private static final String ESCAPE_SEQUENCE = new String(new byte[] { 27, '[' }); private static final String CURSOR_UP_SEQUECE = ESCAPE_SEQUENCE + 'A'; private static final String CURSOR_DOWN_SEQUENCE = ESCAPE_SEQUENCE + 'B'; private static final String CURSOR_FORWARD_SEQUENCE = ESCAPE_SEQUENCE + "0" + 'C'; private static final String CURSOR_BACK_SEQUENCE = ESCAPE_SEQUENCE + "0" + 'D'; private static final String CURSOR_NEXT_LINE_SEQUENCE = ESCAPE_SEQUENCE + 'E'; private static final String CURSOR_PREVIOUS_LINE_SEQUENCE = ESCAPE_SEQUENCE + 'F'; private static final String CURSOR_HORIZONTAL_ABSOLUTE_SEQUENCE = ESCAPE_SEQUENCE + "0" + 'G'; private static final String CURSOR_POSITION_SEQUENCE = ESCAPE_SEQUENCE + 'H'; private static final String ERASE_DATA_SEQUENCE = ESCAPE_SEQUENCE + 'J'; private static final String ERASE_IN_LINE_SEQUENCE = ESCAPE_SEQUENCE + 'K'; private static final String SCROLL_UP_SEQUENCE = ESCAPE_SEQUENCE + 'S'; private static final String SCROLL_DOWN_SEQUENCE = ESCAPE_SEQUENCE + 'T'; private static final String HORIZONTAL_AND_VERTICAL_POSITION_SEQUENCE = ESCAPE_SEQUENCE + 'f'; private static final String SELECT_GRAPHIC_RENDITION_SEQUENCE = ESCAPE_SEQUENCE + 'm'; private static final String DEVICE_STATUS_REPORT_SEQUENCE = ESCAPE_SEQUENCE + 'n'; private static final String SAVE_CURSOR_POSITION_SEQUENCE = ESCAPE_SEQUENCE + 's'; private static final String RESTORE_CURSOR_POSITION_SEQUENCE = ESCAPE_SEQUENCE + 'u'; private static final String HIDE_CURSOR_SEQUENCE = ESCAPE_SEQUENCE + 'l'; private static final String SHOW_CURSOR_SEQUENCE = ESCAPE_SEQUENCE + 'h'; private static final String BAD_SEQUENCE = ESCAPE_SEQUENCE + 'X'; private DefaultCommandFactory factory = DefaultCommandFactory.INSTANCE; @Test public void testCreate() { Assert.assertTrue("cursor up", factory.create(CURSOR_UP_SEQUECE) instanceof CursorUp); Assert.assertTrue("cursor down", factory.create(CURSOR_DOWN_SEQUENCE) instanceof CursorDown); Assert.assertTrue("cursor forward", factory.create(CURSOR_FORWARD_SEQUENCE) instanceof CursorForward); Assert.assertTrue("cursor back", factory.create(CURSOR_BACK_SEQUENCE) instanceof CursorBack); Assert.assertTrue("cursor next line", factory.create(CURSOR_NEXT_LINE_SEQUENCE) instanceof CursorNextLine); Assert.assertTrue("cursor previous line", factory.create(CURSOR_PREVIOUS_LINE_SEQUENCE) instanceof CursorPreviousLine); Assert.assertTrue("cursor horizontal absolute", factory.create(CURSOR_HORIZONTAL_ABSOLUTE_SEQUENCE) instanceof CursorHorizontalAbsolute); Assert.assertTrue("cursor position", factory.create(CURSOR_POSITION_SEQUENCE) instanceof CursorPosition); Assert.assertTrue("erase data", factory.create(ERASE_DATA_SEQUENCE) instanceof EraseData); Assert.assertTrue("erase in line", factory.create(ERASE_IN_LINE_SEQUENCE) instanceof EraseInLine); Assert.assertTrue("scroll up", factory.create(SCROLL_UP_SEQUENCE) instanceof ScrollUp); Assert.assertTrue("scroll down", factory.create(SCROLL_DOWN_SEQUENCE) instanceof ScrollDown); Assert.assertTrue("horizontal and vertical position", factory.create(HORIZONTAL_AND_VERTICAL_POSITION_SEQUENCE) instanceof HorizontalAndVerticalPosition); Assert.assertTrue("select graphic rendition", factory.create(SELECT_GRAPHIC_RENDITION_SEQUENCE) instanceof SelectGraphicRendition); Assert.assertTrue("device status report", factory.create(DEVICE_STATUS_REPORT_SEQUENCE) instanceof DeviceStatusReport); Assert.assertTrue("save cursor position", factory.create(SAVE_CURSOR_POSITION_SEQUENCE) instanceof SaveCursorPosition); Assert.assertTrue("restore cursor position", factory.create(RESTORE_CURSOR_POSITION_SEQUENCE) instanceof RestoreCursorPosition); Assert.assertTrue("hide cursor", factory.create(HIDE_CURSOR_SEQUENCE) instanceof HideCursor); Assert.assertTrue("show cursor", factory.create(SHOW_CURSOR_SEQUENCE) instanceof ShowCursor); Assert.assertNull("bad sequence", factory.create(BAD_SEQUENCE)); } }