edu.rice.cs.drjava.model
Class GlobalModelIOTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by edu.rice.cs.drjava.DrJavaTestCase
              extended by edu.rice.cs.drjava.model.MultiThreadedTestCase
                  extended by edu.rice.cs.drjava.model.GlobalModelTestCase
                      extended by edu.rice.cs.drjava.model.GlobalModelIOTest
All Implemented Interfaces:
OptionConstants, Test

public final class GlobalModelIOTest
extends GlobalModelTestCase
implements OptionConstants

Test I/O functions of the global model. TODO: move document observations to event thread.

Version:
$Id: GlobalModelIOTest.java 5202 2010-03-29 04:00:48Z mgricken $

Nested Class Summary
(package private)  class GlobalModelIOTest.TestFileIOListener
           
(package private)  class GlobalModelIOTest.TestIOListener
           
 
Nested classes/interfaces inherited from class edu.rice.cs.drjava.model.GlobalModelTestCase
GlobalModelTestCase.CancelingSelector, GlobalModelTestCase.CompileShouldFailListener, GlobalModelTestCase.CompileShouldSucceedListener, GlobalModelTestCase.FileMovedWarningException, GlobalModelTestCase.FileSelector, GlobalModelTestCase.InteractionListener, GlobalModelTestCase.JUnitNonTestListener, GlobalModelTestCase.JUnitTestListener, GlobalModelTestCase.OpenWarningException, GlobalModelTestCase.OverwriteException, GlobalModelTestCase.SaveCopyFileSelector, GlobalModelTestCase.TestGlobalModel, GlobalModelTestCase.TestListener, GlobalModelTestCase.WarningFileSelector
 
Nested classes/interfaces inherited from class junit.framework.TestCase
TestCase.WrappedException
 
Nested classes/interfaces inherited from interface edu.rice.cs.drjava.config.OptionConstants
OptionConstants.AccessLevelChoices, OptionConstants.COMPILER_PREFERENCE_CONTROL, OptionConstants.ConcJUnitCheckChoices, OptionConstants.DefaultFont, OptionConstants.DeleteLLClassFileChoices, OptionConstants.DynamicJavaAccessControlChoices, OptionConstants.FileExtRegistrationChoices, OptionConstants.HeapSizeChoices, OptionConstants.LookAndFeels, OptionConstants.PlasticThemes, OptionConstants.to, OptionConstants.VersionNotificationChoices
 
Field Summary
 
Fields inherited from class edu.rice.cs.drjava.model.GlobalModelTestCase
_doc, _interactionsController, _log, _model, _tempDir, BAR_TEXT, BAZ_TEXT, FOO_MISSING_CLOSE_TEXT, FOO_PACKAGE_AFTER_IMPORT, FOO_PACKAGE_AS_FIELD, FOO_PACKAGE_AS_FIELD_2, FOO_PACKAGE_AS_PART_OF_FIELD, FOO_PACKAGE_INSIDE_CLASS, FOO_TEXT
 
Fields inherited from class edu.rice.cs.drjava.model.MultiThreadedTestCase
_testFailed
 
Fields inherited from interface edu.rice.cs.drjava.config.OptionConstants
accessLevelChoices, ADVANCED_LEVEL, ALLOW_PRIVATE_ACCESS, ALWAYS_COMPILE_BEFORE_JAVADOC, ALWAYS_COMPILE_BEFORE_JUNIT, ALWAYS_SAVE_BEFORE_COMPILE, ALWAYS_SAVE_BEFORE_DEBUG, ALWAYS_SAVE_BEFORE_JAVADOC, ALWAYS_SAVE_BEFORE_RUN, apiJavadocChoices, apiJavadocDeprecated, apiJavadocVersionChoices, apiJavadocVersionDeprecated, AUTO_CLOSE_COMMENTS, AUTO_STEP_RATE, BACKUP_FILES, BOOKMARK_COLOR, BROWSER_FILE, BROWSER_HISTORY_MAX_SIZE, BROWSER_STRING, CLIPBOARD_HISTORY_SIZE, COMPILER_ERROR_COLOR, CONCJUNIT_CHECKS_ENABLED, concJUnitCheckChoices, CUSTOM_DRJAVA_JAR_VERSION_SUFFIX, DEBUG_AUTO_IMPORT, DEBUG_BREAKPOINT_COLOR, DEBUG_BREAKPOINT_DISABLED_COLOR, DEBUG_EXPRESSIONS_AND_METHODS_IN_WATCHES, DEBUG_MESSAGE_COLOR, DEBUG_PANEL_HEIGHT, DEBUG_SOURCEPATH, DEBUG_STEP_DRJAVA, DEBUG_STEP_EXCLUDE, DEBUG_STEP_INTERPRETER, DEBUG_STEP_JAVA, DEBUG_THREAD_COLOR, DEFAULT_COMPILER_PREFERENCE, DEFINITIONS_BACKGROUND_COLOR, DEFINITIONS_COMMENT_COLOR, DEFINITIONS_DOUBLE_QUOTED_COLOR, DEFINITIONS_KEYWORD_COLOR, DEFINITIONS_LINE_NUMBER_BACKGROUND_COLOR, DEFINITIONS_LINE_NUMBER_COLOR, DEFINITIONS_MATCH_COLOR, DEFINITIONS_NORMAL_COLOR, DEFINITIONS_NUMBER_COLOR, DEFINITIONS_SINGLE_QUOTED_COLOR, DEFINITIONS_TYPE_COLOR, DELETE_LL_CLASS_FILES, DELETE_LL_CLASS_FILES_CHOICES, DETACH_DEBUGGER, DETACH_TABBEDPANES, DIALOG_AUTOIMPORT_ENABLED, DIALOG_AUTOIMPORT_STATE, DIALOG_AUTOIMPORT_STORE_POSITION, DIALOG_CLIPBOARD_HISTORY_STATE, DIALOG_CLIPBOARD_HISTORY_STORE_POSITION, DIALOG_COMPLETE_JAVAAPI, DIALOG_COMPLETE_SCAN_CLASS_FILES, DIALOG_COMPLETE_WORD_STATE, DIALOG_COMPLETE_WORD_STORE_POSITION, DIALOG_DEBUGFRAME_STATE, DIALOG_DEBUGFRAME_STORE_POSITION, DIALOG_DRJAVA_ERROR_POPUP_ENABLED, DIALOG_DRJAVA_SURVEY_ENABLED, DIALOG_EDITEXTERNALPROCESS_STATE, DIALOG_EDITEXTERNALPROCESS_STORE_POSITION, DIALOG_EXTERNALPROCESS_STATE, DIALOG_EXTERNALPROCESS_STORE_POSITION, DIALOG_GOTOFILE_FULLY_QUALIFIED, DIALOG_GOTOFILE_STATE, DIALOG_GOTOFILE_STORE_POSITION, DIALOG_JAROPTIONS_STATE, DIALOG_JAROPTIONS_STORE_POSITION, DIALOG_LIGHTWEIGHT_PARSING_DELAY, DIALOG_OPENJAVADOC_STATE, DIALOG_OPENJAVADOC_STORE_POSITION, DIALOG_TABBEDPANES_STATE, DIALOG_TABBEDPANES_STORE_POSITION, DISPLAY_ALL_COMPILER_VERSIONS, DISPLAY_RIGHT_MARGIN, DJ_FILE_EXTENSION, DOC_LIST_WIDTH, DRJAVA_ERRORS_BUTTON_COLOR, DRJAVA_SURVEY_DAYS, DRJAVA_USE_FORCE_QUIT, DYNAMICJAVA_ACCESS_CONTROL, DYNAMICJAVA_ACCESS_CONTROL_CHOICES, DYNAMICJAVA_REQUIRE_SEMICOLON, DYNAMICJAVA_REQUIRE_VARIABLE_TYPE, ELEMENTARY_LEVEL, EXTERNAL_SAVED_CMDLINES, EXTERNAL_SAVED_COUNT, EXTERNAL_SAVED_ENCLOSING_DJAPP_FILES, EXTERNAL_SAVED_NAMES, EXTERNAL_SAVED_PREFIX, EXTERNAL_SAVED_WORKDIRS, EXTPROCESS_FILE_EXTENSION, EXTPROCESS_FILE_NAME_INSIDE_JAR, EXTRA_CLASSPATH, EXTRA_COMPILERS, FILE_EXT_REGISTRATION, FILE_EXT_REGISTRATION_CHOICES, FIND_ALL_DOCUMENTS, FIND_MATCH_CASE, FIND_NO_COMMENTS_STRINGS, FIND_NO_TEST_CASES, FIND_ONLY_SELECTION, FIND_REPLACE_FOCUS_IN_DEFPANE, FIND_RESULTS_COLOR1, FIND_RESULTS_COLOR2, FIND_RESULTS_COLOR3, FIND_RESULTS_COLOR4, FIND_RESULTS_COLOR5, FIND_RESULTS_COLOR6, FIND_RESULTS_COLOR7, FIND_RESULTS_COLOR8, FIND_RESULTS_COLORS, FIND_SEARCH_BACKWARDS, FIND_WHOLE_WORD, FIXED_INTERACTIONS_DIRECTORY, FOLLOW_FILE_DELAY, FOLLOW_FILE_LINES, FONT_DOCLIST, FONT_LINE_NUMBERS, FONT_MAIN, FONT_TOOLBAR, FORCE_TEST_SUFFIX, FULL_JAVA, FUNCTIONAL_JAVA_LEVEL, heapSizeChoices, HISTORY_MAX_SIZE, INDENT_LEVEL, INTERACTIONS_AUTO_IMPORT_CLASSES, INTERACTIONS_ERROR_COLOR, INTERACTIONS_EXIT_PROMPT, INTERACTIONS_RESET_PROMPT, INTERMEDIATE_LEVEL, JAVA_FILE_EXTENSION, JAVAC_LOCATION, JAVADOC_1_3_LINK, JAVADOC_1_3_TEXT, JAVADOC_1_4_LINK, JAVADOC_1_4_TEXT, JAVADOC_1_5_LINK, JAVADOC_1_5_TEXT, JAVADOC_1_6_LINK, JAVADOC_1_6_TEXT, JAVADOC_1_7_LINK, JAVADOC_1_7_TEXT, JAVADOC_ACCESS_LEVEL, JAVADOC_ADDITIONAL_LINKS, JAVADOC_API_REF_VERSION, JAVADOC_AUTO_TEXT, JAVADOC_CUSTOM_PARAMS, JAVADOC_DESTINATION, JAVADOC_FROM_ROOTS, JAVADOC_LINK_VERSION, JAVADOC_NONE_TEXT, JAVADOC_PROMPT_FOR_DESTINATION, JUNIT_LINK, JUNIT_LOCATION, JUNIT_LOCATION_ENABLED, KEY_ABOUT, KEY_AUTO_REFRESH_PROJECT, KEY_BACKWARD, KEY_BACKWARD_SELECT, KEY_BEGIN_DOCUMENT, KEY_BEGIN_DOCUMENT_SELECT, KEY_BEGIN_LINE, KEY_BEGIN_LINE_SELECT, KEY_BOOKMARKS_PANEL, KEY_BOOKMARKS_TOGGLE, KEY_BROWSE_BACK, KEY_BROWSE_FORWARD, KEY_CHECK_NEW_VERSION, KEY_CLEAN_PROJECT, KEY_CLEAR_CONSOLE, KEY_CLEAR_HISTORY, KEY_CLEAR_LINE, KEY_CLOSE_ALL_FILES, KEY_CLOSE_FILE, KEY_CLOSE_PROJECT, KEY_CLOSE_SYSTEM_IN, KEY_CLOSING_BRACE, KEY_COMMENT_LINES, KEY_COMPILE, KEY_COMPILE_ALL, KEY_COMPILE_PROJECT, KEY_COMPLETE_FILE, KEY_COPY, KEY_CUT, KEY_CUT_LINE, KEY_DEBUG_AUTOMATIC_TRACE, KEY_DEBUG_BREAKPOINT_PANEL, KEY_DEBUG_BREAKPOINT_TOGGLE, KEY_DEBUG_CLEAR_ALL_BREAKPOINTS, KEY_DEBUG_MODE_TOGGLE, KEY_DEBUG_RESUME, KEY_DEBUG_STEP_INTO, KEY_DEBUG_STEP_OUT, KEY_DEBUG_STEP_OVER, KEY_DELETE_NEXT, KEY_DELETE_PREVIOUS, KEY_DETACH_DEBUGGER, KEY_DETACH_TABBEDPANES, KEY_DOWN, KEY_DOWN_SELECT, KEY_DRJAVA_ERRORS, KEY_DRJAVA_SURVEY, KEY_END_DOCUMENT, KEY_END_DOCUMENT_SELECT, KEY_END_LINE, KEY_END_LINE_SELECT, KEY_EXEC_PROCESS, KEY_EXECUTE_HISTORY, KEY_EXPORT_OLD, KEY_FIND_NEXT, KEY_FIND_PREV, KEY_FIND_REPLACE, KEY_FOLLOW_FILE, KEY_FOR_UNIT_TESTS_ONLY, KEY_FORCE_QUIT, KEY_FORWARD, KEY_FORWARD_SELECT, KEY_GENERATE_CUSTOM_DRJAVA, KEY_GOTO_FILE, KEY_GOTO_FILE_UNDER_CURSOR, KEY_GOTO_LINE, KEY_HELP, KEY_JAR_PROJECT, KEY_JAVADOC_ALL, KEY_JAVADOC_CURRENT, KEY_JUNIT_PROJECT, KEY_LIFT_CURRENT_INTERACTION, KEY_LOAD_HISTORY_SCRIPT, KEY_NEW_CLASS_FILE, KEY_NEW_DRJAVA_INSTANCE, KEY_NEW_FILE, KEY_NEW_PROJECT, KEY_NEW_TEST, KEY_NEXT_DOCUMENT, KEY_NEXT_PANE, KEY_NEXT_WORD, KEY_NEXT_WORD_SELECT, KEY_OPEN_FILE, KEY_OPEN_FOLDER, KEY_OPEN_JAVADOC, KEY_OPEN_JAVADOC_UNDER_CURSOR, KEY_OPEN_PROJECT, KEY_OPENING_BRACE, KEY_PAGE_DOWN, KEY_PAGE_SETUP, KEY_PAGE_UP, KEY_PASTE, KEY_PASTE_FROM_HISTORY, KEY_PREFERENCES, KEY_PREVIOUS_DOCUMENT, KEY_PREVIOUS_PANE, KEY_PREVIOUS_WORD, KEY_PREVIOUS_WORD_SELECT, KEY_PRINT, KEY_PRINT_CONSOLE, KEY_PRINT_INTERACTIONS, KEY_PRINT_PREVIEW, KEY_PROJECT_PROPERTIES, KEY_QUICKSTART, KEY_QUIT, KEY_REDO, KEY_RENAME_FILE, KEY_RESET_INTERACTIONS, KEY_REVERT_FILE, KEY_RUN, KEY_RUN_APPLET, KEY_RUN_PROJECT, KEY_SAVE_ALL_FILES, KEY_SAVE_AS_PROJECT, KEY_SAVE_CONSOLE_COPY, KEY_SAVE_FILE, KEY_SAVE_FILE_AS, KEY_SAVE_FILE_COPY, KEY_SAVE_HISTORY, KEY_SAVE_INTERACTIONS_COPY, KEY_SAVE_PROJECT, KEY_SELECT_ALL, KEY_SHIFT_DELETE_NEXT, KEY_SHIFT_DELETE_PREVIOUS, KEY_TABBED_NEXT_REGION, KEY_TABBED_PREV_REGION, KEY_TEST, KEY_TEST_ALL, KEY_UNCOMMENT_LINES, KEY_UNDO, KEY_UP, KEY_UP_SELECT, KEY_VIEW_INTERACTIONS_CLASSPATH, LANGUAGE_LEVEL, LANGUAGE_LEVEL_EXTENSIONS, LAST_DIRECTORY, LAST_DRJAVA_SURVEY, LAST_DRJAVA_SURVEY_RESULT, LAST_INTERACTIONS_DIRECTORY, LAST_NEW_VERSION_NOTIFICATION, LIGHTWEIGHT_PARSING_ENABLED, LINEENUM_ENABLED, linkChoices, linkDeprecated, linkVersionChoices, linkVersionDeprecated, LOOK_AND_FEEL, MASK, MASTER_JVM_ARGS, MASTER_JVM_XMX, NEW_VERSION_ALLOWED, NEW_VERSION_NOTIFICATION, NEW_VERSION_NOTIFICATION_CHOICES, NEW_VERSION_NOTIFICATION_DAYS, OLD_DJ0_FILE_EXTENSION, OLD_DJ1_FILE_EXTENSION, OLD_DJ2_FILE_EXTENSION, OLD_PROJECT_FILE_EXTENSION, OPEN_FOLDER_RECURSIVE, PLASTIC_THEMES, PROJECT_FILE_EXTENSION, PROJECT_FILE_EXTENSION2, PROMPT_BEFORE_CLEAN, PROMPT_RENAME_LL_FILES, QUIT_PROMPT, RECENT_FILES, RECENT_FILES_MAX_SIZE, RECENT_PROJECTS, REMOTE_CONTROL_ENABLED, REMOTE_CONTROL_PORT, RESET_CLEAR_CONSOLE, RIGHT_MARGIN_COLOR, RIGHT_MARGIN_COLUMNS, RT_CONCJUNIT_LOCATION, RUN_WITH_ASSERT, SHOW_CODE_PREVIEW_POPUPS, SHOW_DEBUG_CONSOLE, SHOW_DEPRECATION_WARNINGS, SHOW_FALLTHROUGH_WARNINGS, SHOW_FINALLY_WARNINGS, SHOW_PATH_WARNINGS, SHOW_SERIAL_WARNINGS, SHOW_SOURCE_WHEN_SWITCHING, SHOW_UNCHECKED_WARNINGS, SLAVE_JVM_ARGS, SLAVE_JVM_XMX, SMART_RUN_FOR_APPLETS_AND_PROGRAMS, STICKY_INTERACTIONS_DIRECTORY, SYSTEM_ERR_COLOR, SYSTEM_IN_COLOR, SYSTEM_OUT_COLOR, TABS_HEIGHT, TEXT_ANTIALIAS, TEXT_FILE_EXTENSION, TOOLBAR_ENABLED, TOOLBAR_ICONS_ENABLED, TOOLBAR_TEXT_ENABLED, WARN_BREAKPOINT_OUT_OF_SYNC, WARN_CHANGE_DCP, WARN_CHANGE_INTERACTIONS, WARN_CHANGE_LAF, WARN_CHANGE_MISC, WARN_CHANGE_THEME, WARN_DEBUG_MODIFIED_FILE, WARN_IF_COMPIZ, WARN_PATH_CONTAINS_POUND, WINDOW_HEIGHT, WINDOW_STATE, WINDOW_STORE_POSITION, WINDOW_WIDTH, WINDOW_X, WINDOW_Y
 
Constructor Summary
GlobalModelIOTest()
           
 
Method Summary
 void testCancelFirstSave()
          Attempts to make the first save of a document, but cancels instead.
 void testCancelOpenFile()
          Initiates a file open, but cancels.
 void testCancelOpenMultipleFiles()
          Initiates a file open, but cancels.
 void testCancelSaveAlreadySaved()
          Saves the document with FOO_TEXT and then saves over the old text, passing in a CancelingSelector to cancel if we are asked for a new file name.
 void testCancelSaveAsAlreadySaved()
          Make sure that saveAs doesn't save if we cancel!
 void testCloseFileAllowAbandon()
          Creates a new document, modifies it, then allows it to be closed, ignoring the changes made.
 void testCloseFileDisallowAbandon()
          Creates a new document, modifies it, but disallows a call to close it without saving changes.
 void testCloseMultipleFiles()
          Ensures closing documents works correctly.
 void testConsoleInput()
          Tests that input can be written to and read from the console correctly.
 void testFileMovedWhenTriedToSave()
          Test for the possibility that the file has been moved or deleted since it was last referenced
 void testForceFileOpen()
          Force a file to be opened with getDocumentforFile.
 void testLoadHistoryWithAndWithoutSemicolons()
          Loads two history files, one whose statements end in semicolons, and one whose statements do not.
 void testModifiedByOther()
           
 void testModifiedByOtherFalse()
           
 void testMultipleFiles()
          Creates a new document, modifies it, and then does the same with a second document, checking for inteference.
 void testMultipleFilesArray()
          Opens several documents and ensures that the array returned by the model is correct and in the right order.
 void testOpenMultipleFiles()
          Opens multiple files.
 void testOpenMultipleFilesError()
          Error checking for openening multiple files checks for null and an array w/null.
 void testOpenMultipleNonexistentFiles()
          Attempts to open a non-existent file.
 void testOpenNonexistentFile()
          Attempts to open a non-existent file.
 void testOpenRealFile()
          Opens a file.
 void testRealSaveFirstSave()
          Makes a first save of the current document.
 void testRealSaveFirstSaveCopy()
          Makes a first save-copy of the current document, ensures that it's still modified.
 void testReopenFile()
          Attempts to reopen an already open file.
 void testRevertFile()
          Forces a file to be opened with getDocumentforFile.
 void testSaveAllSaveCorrectFiles()
          Ensures that all open files are saved in appropriate order, i.e., even with BAR file as active document, save all should first prompt to save FOO, then BAR.
 void testSaveAlreadySaved()
          Saves a file already saved and overwrites its contents.
 void testSaveAsAlreadySaved()
          Ensures that saveAs saves to a different file.
 void testSaveAsExistsAndOpen()
           
 void testSaveAsExistsForOverwrite()
           
 void testSaveClearAndLoadHistory()
          Interprets some statements, saves the history, clears the history, then loads the history.
 
Methods inherited from class edu.rice.cs.drjava.model.GlobalModelTestCase
assertCompileErrorsPresent, assertCompileErrorsPresent, assertContents, assertInteractionsContains, assertInteractionsDoesNotContain, assertInteractionsDoesNotMatch, assertInteractionsMatches, assertLength, assertModified, assertNumOpenDocs, changeDocumentText, classForJava, createFile, doCompile, doCompile, getCompilerErrorString, getInteractionsText, interpret, interpretIgnoreResult, safeLoadHistory, safeSaveHistory, saveAllFiles, saveFile, saveFileAs, saveFileCopy, setUp, setupDocument, tearDown, tempDirectory, tempFile, tempFile, testStartCompile, writeToNewTempFile
 
Methods inherited from class edu.rice.cs.drjava.model.MultiThreadedTestCase
join, listenerFail, listenerFail, wait
 
Methods inherited from class edu.rice.cs.drjava.DrJavaTestCase
setConfigSetting, setDocText
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GlobalModelIOTest

public GlobalModelIOTest()
Method Detail

testMultipleFiles

public void testMultipleFiles()
                       throws javax.swing.text.BadLocationException
Creates a new document, modifies it, and then does the same with a second document, checking for inteference.

Throws:
javax.swing.text.BadLocationException

testMultipleFilesArray

public void testMultipleFilesArray()
                            throws javax.swing.text.BadLocationException
Opens several documents and ensures that the array returned by the model is correct and in the right order.

Throws:
javax.swing.text.BadLocationException

testCloseMultipleFiles

public void testCloseMultipleFiles()
                            throws javax.swing.text.BadLocationException
Ensures closing documents works correctly.

Throws:
javax.swing.text.BadLocationException

testCloseFileAllowAbandon

public void testCloseFileAllowAbandon()
                               throws javax.swing.text.BadLocationException
Creates a new document, modifies it, then allows it to be closed, ignoring the changes made.

Throws:
javax.swing.text.BadLocationException

testCloseFileDisallowAbandon

public void testCloseFileDisallowAbandon()
                                  throws javax.swing.text.BadLocationException
Creates a new document, modifies it, but disallows a call to close it without saving changes.

Throws:
javax.swing.text.BadLocationException

testOpenRealFile

public void testOpenRealFile()
                      throws javax.swing.text.BadLocationException,
                             java.io.IOException
Opens a file.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testCancelOpenFile

public void testCancelOpenFile()
                        throws javax.swing.text.BadLocationException,
                               java.io.IOException
Initiates a file open, but cancels.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testOpenNonexistentFile

public void testOpenNonexistentFile()
                             throws java.io.IOException
Attempts to open a non-existent file.

Throws:
java.io.IOException

testReopenFile

public void testReopenFile()
                    throws javax.swing.text.BadLocationException,
                           java.io.IOException
Attempts to reopen an already open file.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testOpenMultipleFiles

public void testOpenMultipleFiles()
                           throws javax.swing.text.BadLocationException,
                                  java.io.IOException
Opens multiple files.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testCancelOpenMultipleFiles

public void testCancelOpenMultipleFiles()
                                 throws javax.swing.text.BadLocationException,
                                        java.io.IOException
Initiates a file open, but cancels.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testOpenMultipleNonexistentFiles

public void testOpenMultipleNonexistentFiles()
                                      throws java.io.IOException
Attempts to open a non-existent file.

Throws:
java.io.IOException

testOpenMultipleFilesError

public void testOpenMultipleFilesError()
Error checking for openening multiple files checks for null and an array w/null.


testForceFileOpen

public void testForceFileOpen()
                       throws javax.swing.text.BadLocationException,
                              java.io.IOException,
                              OperationCanceledException,
                              AlreadyOpenException
Force a file to be opened with getDocumentforFile.

Throws:
javax.swing.text.BadLocationException
java.io.IOException
OperationCanceledException
AlreadyOpenException

testCancelFirstSave

public void testCancelFirstSave()
                         throws javax.swing.text.BadLocationException,
                                java.io.IOException
Attempts to make the first save of a document, but cancels instead.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testRealSaveFirstSave

public void testRealSaveFirstSave()
                           throws javax.swing.text.BadLocationException,
                                  java.io.IOException
Makes a first save of the current document.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testRealSaveFirstSaveCopy

public void testRealSaveFirstSaveCopy()
                               throws javax.swing.text.BadLocationException,
                                      java.io.IOException
Makes a first save-copy of the current document, ensures that it's still modified.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testSaveAlreadySaved

public void testSaveAlreadySaved()
                          throws java.lang.Exception
Saves a file already saved and overwrites its contents.

Throws:
java.lang.Exception

testCancelSaveAlreadySaved

public void testCancelSaveAlreadySaved()
                                throws javax.swing.text.BadLocationException,
                                       java.io.IOException
Saves the document with FOO_TEXT and then saves over the old text, passing in a CancelingSelector to cancel if we are asked for a new file name. Confirms that no cancellation happens (since the file is already saved.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testCancelSaveAsAlreadySaved

public void testCancelSaveAsAlreadySaved()
                                  throws javax.swing.text.BadLocationException,
                                         java.io.IOException
Make sure that saveAs doesn't save if we cancel!

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testSaveAsAlreadySaved

public void testSaveAsAlreadySaved()
                            throws javax.swing.text.BadLocationException,
                                   java.io.IOException
Ensures that saveAs saves to a different file.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testSaveAsExistsForOverwrite

public void testSaveAsExistsForOverwrite()
                                  throws javax.swing.text.BadLocationException,
                                         java.io.IOException
Throws:
javax.swing.text.BadLocationException
java.io.IOException

testSaveAsExistsAndOpen

public void testSaveAsExistsAndOpen()
                             throws javax.swing.text.BadLocationException,
                                    java.io.IOException
Throws:
javax.swing.text.BadLocationException
java.io.IOException

testSaveAllSaveCorrectFiles

public void testSaveAllSaveCorrectFiles()
                                 throws javax.swing.text.BadLocationException,
                                        java.io.IOException
Ensures that all open files are saved in appropriate order, i.e., even with BAR file as active document, save all should first prompt to save FOO, then BAR.

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testRevertFile

public void testRevertFile()
                    throws javax.swing.text.BadLocationException,
                           java.io.IOException,
                           OperationCanceledException,
                           AlreadyOpenException
Forces a file to be opened with getDocumentforFile.

Throws:
javax.swing.text.BadLocationException
java.io.IOException
OperationCanceledException
AlreadyOpenException

testModifiedByOther

public void testModifiedByOther()
                         throws javax.swing.text.BadLocationException,
                                java.io.IOException,
                                OperationCanceledException,
                                AlreadyOpenException,
                                java.lang.InterruptedException
Throws:
javax.swing.text.BadLocationException
java.io.IOException
OperationCanceledException
AlreadyOpenException
java.lang.InterruptedException

testModifiedByOtherFalse

public void testModifiedByOtherFalse()
                              throws javax.swing.text.BadLocationException,
                                     java.io.IOException,
                                     OperationCanceledException,
                                     AlreadyOpenException,
                                     java.lang.InterruptedException
Throws:
javax.swing.text.BadLocationException
java.io.IOException
OperationCanceledException
AlreadyOpenException
java.lang.InterruptedException

testSaveClearAndLoadHistory

public void testSaveClearAndLoadHistory()
                                 throws EditDocumentException,
                                        java.io.IOException,
                                        java.lang.InterruptedException
Interprets some statements, saves the history, clears the history, then loads the history.

Throws:
EditDocumentException
java.io.IOException
java.lang.InterruptedException

testLoadHistoryWithAndWithoutSemicolons

public void testLoadHistoryWithAndWithoutSemicolons()
                                             throws java.io.IOException,
                                                    EditDocumentException,
                                                    java.lang.InterruptedException
Loads two history files, one whose statements end in semicolons, and one whose statements do not. Makes sure that it doesn't matter.

Throws:
java.io.IOException
EditDocumentException
java.lang.InterruptedException

testFileMovedWhenTriedToSave

public void testFileMovedWhenTriedToSave()
                                  throws javax.swing.text.BadLocationException,
                                         java.io.IOException
Test for the possibility that the file has been moved or deleted since it was last referenced

Throws:
javax.swing.text.BadLocationException
java.io.IOException

testConsoleInput

public void testConsoleInput()
                      throws EditDocumentException
Tests that input can be written to and read from the console correctly.

Throws:
EditDocumentException