1 33 34 package edu.rice.cs.drjava.model.definitions.indent; 35 36 import javax.swing.text.BadLocationException ; 37 38 46 public final class QuestionBraceIsCurlyTest extends IndentRulesTestCase { 47 51 private String _text; 52 53 private final IndentRuleQuestion _rule = new QuestionBraceIsCurly(null, null); 54 55 public void testWithParen() throws BadLocationException { 56 int i; 57 58 59 60 _text = "boolean method(int[] a, String b) {}"; 61 _setDocText(_text); 62 63 for (i = 0; i < _text.length(); i++) 64 assertTrue("START has no brace.", !_rule.applyRule(_doc, i, Indenter.OTHER)); 65 66 67 68 _text = 69 "boolean method() {\n" + 70 "}"; 71 72 _setDocText(_text); 73 74 assertTrue("START has no brace.", !_rule.applyRule(_doc, 18, Indenter.OTHER)); 75 assertTrue("START's brace is curly brace.", _rule.applyRule(_doc, 19, Indenter.OTHER)); 76 77 78 79 _text = 80 "boolean method(\n" + 81 " int[] a, String b)\n" + 82 "{}"; 83 84 _setDocText(_text); 85 86 assertTrue("START is open curly brace.", !_rule.applyRule(_doc, _text.length() - 2, Indenter.OTHER)); 87 assertTrue("START is open curly brace.", !_rule.applyRule(_doc, _text.length() - 1, Indenter.OTHER)); 88 89 90 91 _text = 92 "if (<cond>) {\n" + 93 " if (\n" + 94 " <cond>) { ... }}"; 95 96 _setDocText(_text); 97 98 assertTrue("START's brace is open curly brace.", _rule.applyRule(_doc, 14, Indenter.OTHER)); 99 assertTrue("START's brace is open curly brace.", _rule.applyRule(_doc, 22, Indenter.OTHER)); 100 assertTrue("START's brace is an open paren.", !_rule.applyRule(_doc, 23, Indenter.OTHER)); 101 102 103 104 _text = 105 "array[\n" + 106 " new Listener() {\n" + 107 " method() {\n" + 108 " }\n" + 109 " }]"; 110 111 _setDocText(_text); 112 113 assertTrue("START has no brace.", !_rule.applyRule(_doc, 0, Indenter.OTHER)); 114 assertTrue("START's brace is open bracket.", !_rule.applyRule(_doc, 7, Indenter.OTHER)); 115 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, 28, Indenter.OTHER)); 116 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, 30, Indenter.OTHER)); 117 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, _text.length() - 1, Indenter.OTHER)); 118 } 119 120 public void testOnlyCurly() throws BadLocationException { 121 122 123 _text = 124 "{ /* block1 */ }\n" + 125 "{ /* block2 */ }\n" + 126 "{ /* block3 */ }"; 127 128 _setDocText(_text); 129 130 assertTrue("START has no brace.", !_rule.applyRule(_doc, 0, Indenter.OTHER)); 131 assertTrue("START has no brace.", !_rule.applyRule(_doc, 7, Indenter.OTHER)); 132 assertTrue("START has no brace.", !_rule.applyRule(_doc, 28, Indenter.OTHER)); 133 assertTrue("START has no brace.", !_rule.applyRule(_doc, 30, Indenter.OTHER)); 134 assertTrue("START has no brace.", !_rule.applyRule(_doc, _text.length() - 1, Indenter.OTHER)); 135 136 137 138 _text = 139 "{\n" + 140 " {\n" + 141 " {}\n" + 142 " }\n" + 143 "}"; 144 145 _setDocText(_text); 146 147 assertTrue("START has no brace.", !_rule.applyRule(_doc, 0, Indenter.OTHER)); 148 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, 7, Indenter.OTHER)); 149 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, 18, Indenter.OTHER)); 150 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, 19, Indenter.OTHER)); 151 assertTrue("START's brace is an open curly brace.", _rule.applyRule(_doc, _text.length() - 1, Indenter.OTHER)); 152 153 154 155 _text = 156 "class Foo {\n" + 157 "}"; 158 _setDocText(_text); 159 160 assertTrue("Close brace immediately after open brace.", _rule.applyRule(_doc, 12, Indenter.OTHER)); 161 162 163 164 _text = 165 "class Foo {\n" + 166 " method m()\n" + 167 " {\n" + 168 " }\n" + 169 "}"; 170 _setDocText(_text); 171 172 assertTrue("Close brace immediately after open brace.", _rule.applyRule(_doc, 29, Indenter.OTHER)); 173 } 174 175 public void testEmbeddedBraceForms() throws BadLocationException { 176 177 178 _text = 179 "Foo f1 = x,\n" + 180 " f2 = new int[]{1, 2, 3},\n" + 181 " f3 = y;"; 182 183 _setDocText(_text); 184 185 assertTrue("START has no brace.", !_rule.applyRule(_doc, 0, Indenter.OTHER)); 186 assertTrue("START has no brace.", !_rule.applyRule(_doc, 12, Indenter.OTHER)); 187 assertTrue("START has no brace.", !_rule.applyRule(_doc, 22, Indenter.OTHER)); 188 assertTrue("START has no brace.", !_rule.applyRule(_doc, _text.length() - 1, Indenter.OTHER)); 191 192 193 194 } 195 } 196 197 | Popular Tags |