1 33 34 package edu.rice.cs.drjava.model; 35 36 import java.io.*; 37 38 import javax.swing.text.BadLocationException ; 39 40 import edu.rice.cs.drjava.DrJava; 41 import edu.rice.cs.drjava.config.OptionConstants; 42 43 import edu.rice.cs.util.swing.Utilities; 44 45 52 public final class GlobalModelCompileSuccessOptionsTest extends GlobalModelCompileSuccessTestCase { 53 54 59 public void testCompileReferenceToNonPublicClass() 60 throws BadLocationException , IOException, InterruptedException { 61 OpenDefinitionsDocument doc = setupDocument(FOO_NON_PUBLIC_CLASS_TEXT); 63 OpenDefinitionsDocument doc2 = setupDocument(FOO2_REFERENCES_NON_PUBLIC_CLASS_TEXT); 64 final File file = tempFile(); 65 final File file2 = tempFile(1); 66 doc.saveFile(new FileSelector(file)); 67 doc2.saveFile(new FileSelector(file2)); 68 CompileShouldSucceedListener listener = new CompileShouldSucceedListener(false); 69 _model.addListener(listener); 70 listener.compile(doc); 71 if (_model.getCompilerModel().getNumErrors() > 0) { 72 fail("compile failed: " + getCompilerErrorString()); 73 } 74 listener.checkCompileOccurred(); 75 _model.removeListener(listener); 76 CompileShouldSucceedListener listener2 = new CompileShouldSucceedListener(false); 77 _model.addListener(listener2); 78 listener2.compile(doc2); 79 if (_model.getCompilerModel().getNumErrors() > 0) { 80 fail("compile failed: " + getCompilerErrorString()); 81 } 82 83 listener2.checkCompileOccurred(); 84 _model.removeListener(listener2); 85 assertCompileErrorsPresent(_name(), false); 86 87 File compiled = classForJava(file, "DrJavaTestFoo"); 89 File compiled2 = classForJava(file, "DrJavaTestFoo2"); 90 assertTrue(_name() + "Class file should exist after compile", compiled.exists()); 91 assertTrue(_name() + "Class file should exist after compile", compiled2.exists()); 92 } 93 94 99 public void testCompileWithJavaAssert() 100 throws BadLocationException , IOException, InterruptedException { 101 if (Float.valueOf(System.getProperty("java.specification.version")) < 1.5) { 104 OpenDefinitionsDocument doc = setupDocument(FOO_WITH_ASSERT); 105 final File file = tempFile(); 106 doc.saveFile(new FileSelector(file)); 107 CompileShouldFailListener listener = new CompileShouldFailListener(); 108 _model.addListener(listener); 109 110 listener.compile(doc); 112 113 assertCompileErrorsPresent(_name(), true); 114 listener.checkCompileOccurred(); 115 File compiled = classForJava(file, "DrJavaTestFoo"); 116 assertTrue(_name() + "Class file exists after compile?!", !compiled.exists()); 117 _model.removeListener(listener); 118 119 120 String version = System.getProperty("java.version"); 122 if ((version != null) && ("1.4.0".compareTo(version) <= 0)) { 123 DrJava.getConfig().setSetting(OptionConstants.RUN_WITH_ASSERT, 125 Boolean.TRUE); 126 127 CompileShouldSucceedListener listener2 = new CompileShouldSucceedListener(false); 128 _model.addListener(listener2); 129 listener2.compile(doc); 130 if (_model.getCompilerModel().getNumErrors() > 0) { 131 fail("compile failed: " + getCompilerErrorString()); 132 } 133 _model.removeListener(listener2); 134 assertCompileErrorsPresent(_name(), false); 135 listener2.checkCompileOccurred(); 136 137 compiled = classForJava(file, "DrJavaTestFoo"); 139 assertTrue(_name() + "Class file doesn't exist after compile", 140 compiled.exists()); 141 } 142 } 143 } 144 145 152 public void testCompileWithGenerics() 153 throws BadLocationException , IOException, InterruptedException 154 { 155 if (_isGenericCompiler()) { 158 159 OpenDefinitionsDocument doc = setupDocument(FOO_WITH_GENERICS); 160 final File file = new File(_tempDir, "DrJavaTestFooGenerics.java"); 161 doc.saveFile(new FileSelector(file)); 162 163 CompileShouldSucceedListener listener = new CompileShouldSucceedListener(false); 164 _model.addListener(listener); 165 _model.getCompilerModel().compileAll(); 166 Utilities.clearEventQueue(); 167 if (_model.getCompilerModel().getNumErrors() > 0) { 168 fail("compile failed: " + getCompilerErrorString()); 169 } 170 assertCompileErrorsPresent(_name(), false); 171 listener.checkCompileOccurred(); 172 _model.removeListener(listener); 173 174 File compiled = classForJava(file, "DrJavaTestFooGenerics"); 176 assertTrue(_name() + "FooGenerics Class file doesn't exist after compile", compiled.exists()); 177 } 178 } 179 } 180 | Popular Tags |