J. Duke | 319a3b9 | 2007-12-01 00:00:00 +0000 | [diff] [blame^] | 1 | /* |
| 2 | * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved. |
| 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| 4 | * |
| 5 | * This code is free software; you can redistribute it and/or modify it |
| 6 | * under the terms of the GNU General Public License version 2 only, as |
| 7 | * published by the Free Software Foundation. |
| 8 | * |
| 9 | * This code is distributed in the hope that it will be useful, but WITHOUT |
| 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| 12 | * version 2 for more details (a copy is included in the LICENSE file that |
| 13 | * accompanied this code). |
| 14 | * |
| 15 | * You should have received a copy of the GNU General Public License version |
| 16 | * 2 along with this work; if not, write to the Free Software Foundation, |
| 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| 18 | * |
| 19 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| 20 | * CA 95054 USA or visit www.sun.com if you need additional information or |
| 21 | * have any questions. |
| 22 | */ |
| 23 | |
| 24 | /** |
| 25 | * |
| 26 | * |
| 27 | * This isn't the test case: ResourceCheckTest.sh is. |
| 28 | * Refer to ResourceCheckTest.sh when running this test. |
| 29 | * |
| 30 | * @bug 5008856 5023573 5024917 5062569 |
| 31 | * @summary 'missing resource key' error for key = "Operating system" |
| 32 | */ |
| 33 | |
| 34 | import java.awt.event.KeyEvent; |
| 35 | |
| 36 | import sun.tools.jconsole.Resources; |
| 37 | |
| 38 | public class ResourceCheckTest { |
| 39 | |
| 40 | public static void main(String[] args){ |
| 41 | Object [][] testData = { |
| 42 | {"<", "", "", "", ""}, |
| 43 | {"<<", "", "", "", ""}, |
| 44 | {">", "", "", "", ""}, |
| 45 | {" 1 day", "", "", "", ""}, |
| 46 | {" 1 hour", "", "", "", ""}, |
| 47 | {" 1 min", "", "", "", ""}, |
| 48 | {" 1 month", "", "", "", ""}, |
| 49 | {" 1 year", "", "", "", ""}, |
| 50 | {" 2 hours", "", "", "", ""}, |
| 51 | {" 3 hours", "", "", "", ""}, |
| 52 | {" 3 months", "", "", "", ""}, |
| 53 | {" 5 min", "", "", "", ""}, |
| 54 | {" 6 hours", "", "", "", ""}, |
| 55 | {" 6 months", "", "", "", ""}, |
| 56 | {" 7 days", "", "", "", ""}, |
| 57 | {"10 min", "", "", "", ""}, |
| 58 | {"12 hours", "", "", "", ""}, |
| 59 | {"30 min", "", "", "", ""}, |
| 60 | {"ACTION", "", "", "", ""}, |
| 61 | {"ACTION_INFO", "", "", "", ""}, |
| 62 | {"All", "", "", "", ""}, |
| 63 | {"Architecture", "", "", "", ""}, |
| 64 | {"Attribute", "", "", "", ""}, |
| 65 | {"Attribute value", "", "", "", ""}, |
| 66 | {"Attribute values", "", "", "", ""}, |
| 67 | {"Attributes", "", "", "", ""}, |
| 68 | {"Blank", "", "", "", ""}, |
| 69 | {"BlockedCount WaitedCount", "BlockedCount", "WaitedCount", "", ""}, |
| 70 | {"Boot class path", "", "", "", ""}, |
| 71 | {"BorderedComponent.moreOrLessButton.toolTip", "", "", "", ""}, |
| 72 | {"Close", "", "", "", ""}, |
| 73 | {"CPU Usage", "", "", "", ""}, |
| 74 | {"CPUUsageFormat","PhonyPercentage", "", "", ""}, |
| 75 | {"Cancel", "", "", "", ""}, |
| 76 | {"Cascade", "", "", "", ""}, |
| 77 | {"Cascade.mnemonic", "", "", "", ""}, |
| 78 | {"Chart:", "", "", "", ""}, |
| 79 | {"Chart:.mnemonic", "", "", "", ""}, |
| 80 | {"ClassTab.infoLabelFormat", "LoadedCount", "UnloadedCount", "TotalCount", ""}, |
| 81 | {"ClassTab.loadedClassesPlotter.accessibleName", "", "", "", ""}, |
| 82 | {"Class path", "", "", "", ""}, |
| 83 | {"Classes", "", "", "", ""}, |
| 84 | {"ClassName", "", "", "", ""}, |
| 85 | {"Column.Name", "", "", "", ""}, |
| 86 | {"Column.PID", "", "", "", ""}, |
| 87 | {"Committed", "", "", "", ""}, |
| 88 | {"Committed memory", "", "", "", ""}, |
| 89 | {"Committed virtual memory", "", "", "", ""}, |
| 90 | {"Compiler", "", "", "", ""}, |
| 91 | {"Connect...", "", "", "", ""}, |
| 92 | {"Connect", "", "", "", ""}, |
| 93 | {"Connect.mnemonic", "", "", "", ""}, |
| 94 | {"ConnectDialog.connectButton.toolTip", "", "", "", ""}, |
| 95 | {"ConnectDialog.accessibleDescription", "", "", "", ""}, |
| 96 | {"ConnectDialog.masthead.accessibleName", "", "", "", ""}, |
| 97 | {"ConnectDialog.masthead.title", "", "", "", ""}, |
| 98 | {"ConnectDialog.statusBar.accessibleName", "", "", "", ""}, |
| 99 | {"ConnectDialog.title", "", "", "", ""}, |
| 100 | {"Connected. Click to disconnect.", "", "", "", ""}, |
| 101 | {"connectingTo1", "PhonyConnectionName", "", "", ""}, |
| 102 | {"connectingTo2", "PhonyConnectionName", "", "", ""}, |
| 103 | {"connectionFailed1", "", "", "", ""}, |
| 104 | {"connectionFailed2", "PhonyConnectionName", "", "", ""}, |
| 105 | {"connectionLost1", "", "", "", ""}, |
| 106 | {"connectionLost2", "PhonyConnectionName", "", "", ""}, |
| 107 | {"Connection failed", "", "", "", ""}, |
| 108 | {"Connection", "", "", "", ""}, |
| 109 | {"Connection.mnemonic", "", "", "", ""}, |
| 110 | {"Connection name", "", "", "", ""}, |
| 111 | {"ConnectionName (disconnected)", "Phony", "Phony", "", ""}, |
| 112 | {"Constructor", "", "", "", ""}, |
| 113 | {"Create", "Phony", "Phony", "", ""}, |
| 114 | {"Current classes loaded", "", "", "", ""}, |
| 115 | {"Current heap size", "", "", "", ""}, |
| 116 | {"Current value", "PhonyValue", "", "", ""}, |
| 117 | {"Daemon threads", "", "", "", ""}, |
| 118 | {"deadlockAllTab", "", "", "", ""}, |
| 119 | {"deadlockTab", "", "", "", ""}, |
| 120 | {"deadlockTabN", "PhonyInt", "", "", ""}, |
| 121 | {"Description", "", "", "", ""}, |
| 122 | {"Descriptor", "", "", "", ""}, |
| 123 | {"Details", "", "", "", ""}, |
| 124 | {"Detect Deadlock", "", "", "", ""}, |
| 125 | {"Detect Deadlock.mnemonic", "", "", "", ""}, |
| 126 | {"Detect Deadlock.toolTip", "", "", "", ""}, |
| 127 | {"Dimension is not supported:", "", "", "", ""}, |
| 128 | {"Discard chart", "", "", "", ""}, |
| 129 | {"Disconnected. Click to connect.", "", "", "", ""}, |
| 130 | {"Double click to expand/collapse", "", "", "", ""}, |
| 131 | {"Double click to visualize", "", "", "", ""}, |
| 132 | {"DurationDaysHoursMinutes", 0, 13, 54, ""}, |
| 133 | {"DurationDaysHoursMinutes", 1, 13, 54, ""}, |
| 134 | {"DurationDaysHoursMinutes", 2, 13, 54, ""}, |
| 135 | {"DurationDaysHoursMinutes", 1024, 13, 45, ""}, |
| 136 | {"DurationHoursMinutes", 0, 13, "", ""}, |
| 137 | {"DurationHoursMinutes", 1, 0, "", ""}, |
| 138 | {"DurationHoursMinutes", 1, 1, "", ""}, |
| 139 | {"DurationHoursMinutes", 2, 42, "", ""}, |
| 140 | {"DurationMinutes", 0, "", "", ""}, |
| 141 | {"DurationMinutes", 1, "", "", ""}, |
| 142 | {"DurationMinutes", 2, "", "", ""}, |
| 143 | {"DurationSeconds", 0, "", "", ""}, |
| 144 | {"DurationSeconds", 1, "", "", ""}, |
| 145 | {"DurationSeconds", 2, "", "", ""}, |
| 146 | {"Empty array", "", "", "", ""}, |
| 147 | {"Error", "", "", "", ""}, |
| 148 | {"Error: MBeans already exist", "", "", "", ""}, |
| 149 | {"Error: MBeans do not exist", "", "", "", ""}, |
| 150 | {"Event", "", "", "", ""}, |
| 151 | {"Exit", "", "", "", ""}, |
| 152 | {"Exit.mnemonic", "", "", "", ""}, |
| 153 | {"expand", "", "", "", ""}, |
| 154 | {"Fail to load plugin", "", "", "", ""}, |
| 155 | {"FileChooser.fileExists.cancelOption", "", "", "", ""}, |
| 156 | {"FileChooser.fileExists.message", "PhonyFileName", "", "", ""}, |
| 157 | {"FileChooser.fileExists.okOption", "", "", "", ""}, |
| 158 | {"FileChooser.fileExists.title", "", "", "", ""}, |
| 159 | {"FileChooser.savedFile", "PhonyFilePath", "PhonyFileSize", "", ""}, |
| 160 | {"FileChooser.saveFailed.message", "PhonyFilePath", "PhonyMessage", "", ""}, |
| 161 | {"FileChooser.saveFailed.title", "", "", "", ""}, |
| 162 | {"Free physical memory", "", "", "", ""}, |
| 163 | {"Free swap space", "", "", "", ""}, |
| 164 | {"Garbage collector", "", "", "", ""}, |
| 165 | {"GC time", "", "", "", ""}, |
| 166 | {"GC time details", 54, "Phony", 11, ""}, |
| 167 | {"GcInfo", "Phony", -1, 768, ""}, |
| 168 | {"GcInfo", "Phony", 0, 768, ""}, |
| 169 | {"GcInfo", "Phony", 1, 768, ""}, |
| 170 | {"Heap", "", "", "", ""}, |
| 171 | {"Heap Memory Usage", "", "", "", ""}, |
| 172 | {"Help.AboutDialog.accessibleDescription", "", "", "", ""}, |
| 173 | {"Help.AboutDialog.jConsoleVersion", "DummyVersion", "", "", ""}, |
| 174 | {"Help.AboutDialog.javaVersion", "DummyVersion", "", "", ""}, |
| 175 | {"Help.AboutDialog.masthead.accessibleName", "", "", "", ""}, |
| 176 | {"Help.AboutDialog.masthead.title", "", "", "", ""}, |
| 177 | {"Help.AboutDialog.title", "", "", "", ""}, |
| 178 | {"Help.AboutDialog.userGuideLink", "DummyMessage", "", "", ""}, |
| 179 | {"Help.AboutDialog.userGuideLink.mnemonic", "", "", "", ""}, |
| 180 | {"Help.AboutDialog.userGuideLink.url", "DummyURL", "", "", ""}, |
| 181 | {"HelpMenu.About.title", "", "", "", ""}, |
| 182 | {"HelpMenu.About.title.mnemonic", "", "", "", ""}, |
| 183 | {"HelpMenu.UserGuide.title", "", "", "", ""}, |
| 184 | {"HelpMenu.UserGuide.title.mnemonic", "", "", "", ""}, |
| 185 | {"HelpMenu.title", "", "", "", ""}, |
| 186 | {"HelpMenu.title.mnemonic", "", "", "", ""}, |
| 187 | {"Hotspot MBeans...", "", "", "", ""}, |
| 188 | {"Hotspot MBeans....mnemonic", "", "", "", ""}, |
| 189 | {"Hotspot MBeans.dialog.accessibleDescription", "", "", "", ""}, |
| 190 | {"Impact", "", "", "", ""}, |
| 191 | {"Info", "", "", "", ""}, |
| 192 | {"INFO", "", "", "", ""}, |
| 193 | {"Invalid plugin path", "", "", "", ""}, |
| 194 | {"Invalid URL", "", "", "", ""}, |
| 195 | {"Is", "", "", "", ""}, |
| 196 | {"Java Monitoring & Management Console", "", "", "", ""}, |
| 197 | {"Java Virtual Machine", "", "", "", ""}, |
| 198 | {"JConsole: ", "", "", "", ""}, |
| 199 | {"JConsole.accessibleDescription", "", "", "", ""}, |
| 200 | {"JConsole version", "PhonyVersion", "", "", ""}, |
| 201 | {"JIT compiler", "", "", "", ""}, |
| 202 | {"Library path", "", "", "", ""}, |
| 203 | {"Live Threads", "", "", "", ""}, |
| 204 | {"Loaded", "", "", "", ""}, |
| 205 | {"Local Process:", "", "", "", ""}, |
| 206 | {"Local Process:.mnemonic", "", "", "", ""}, |
| 207 | {"Manage Hotspot MBeans in: ", "", "", "", ""}, |
| 208 | {"Management Not Enabled", "", "", "", ""}, |
| 209 | {"Management Will Be Enabled", "", "", "", ""}, |
| 210 | {"Masthead.font", "", "", "", ""}, |
| 211 | {"Max", "", "", "", ""}, |
| 212 | {"Max", "", "", "", ""}, |
| 213 | {"Maximum heap size", "", "", "", ""}, |
| 214 | {"MBeanAttributeInfo", "", "", "", ""}, |
| 215 | {"MBeanInfo", "", "", "", ""}, |
| 216 | {"MBeanNotificationInfo", "", "", "", ""}, |
| 217 | {"MBeanOperationInfo", "", "", "", ""}, |
| 218 | {"MBeans", "", "", "", ""}, |
| 219 | {"MBeansTab.clearNotificationsButton", "", "", "", ""}, |
| 220 | {"MBeansTab.clearNotificationsButton.mnemonic", "", "", "", ""}, |
| 221 | {"MBeansTab.clearNotificationsButton.toolTip", "", "", "", ""}, |
| 222 | {"MBeansTab.compositeNavigationMultiple", 0, 0, "", ""}, |
| 223 | {"MBeansTab.compositeNavigationSingle", "", "", "", ""}, |
| 224 | {"MBeansTab.refreshAttributesButton", "", "", "", ""}, |
| 225 | {"MBeansTab.refreshAttributesButton.mnemonic", "", "", "", ""}, |
| 226 | {"MBeansTab.refreshAttributesButton.toolTip", "", "", "", ""}, |
| 227 | {"MBeansTab.subscribeNotificationsButton", "", "", "", ""}, |
| 228 | {"MBeansTab.subscribeNotificationsButton.mnemonic", "", "", "", ""}, |
| 229 | {"MBeansTab.subscribeNotificationsButton.toolTip", "", "", "", ""}, |
| 230 | {"MBeansTab.tabularNavigationMultiple", 0, 0, "", ""}, |
| 231 | {"MBeansTab.tabularNavigationSingle", "", "", "", ""}, |
| 232 | {"MBeansTab.unsubscribeNotificationsButton", "", "", "", ""}, |
| 233 | {"MBeansTab.unsubscribeNotificationsButton.mnemonic", "", "", "", ""}, |
| 234 | {"MBeansTab.unsubscribeNotificationsButton.toolTip", "", "", "", ""}, |
| 235 | {"Memory", "", "", "", ""}, |
| 236 | {"MemoryPoolLabel", "PhonyMemoryPool", "", "", ""}, |
| 237 | {"MemoryTab.heapPlotter.accessibleName", "", "", "", ""}, |
| 238 | {"MemoryTab.infoLabelFormat", "UsedCount", "CommittedCount", "MaxCount", ""}, |
| 239 | {"MemoryTab.nonHeapPlotter.accessibleName", "", "", "", ""}, |
| 240 | {"MemoryTab.poolChart.aboveThreshold", "Threshold", "", "", ""}, |
| 241 | {"MemoryTab.poolChart.accessibleName", "", "", "", ""}, |
| 242 | {"MemoryTab.poolChart.belowThreshold", "Threshold", "", "", ""}, |
| 243 | {"MemoryTab.poolPlotter.accessibleName", "PhonyMemoryPool", "", "", ""}, |
| 244 | {"Message", "", "", "", ""}, |
| 245 | {"Method successfully invoked", "", "", "", ""}, |
| 246 | {"Monitor locked", "", "", "", ""}, |
| 247 | {"Minimize All", "", "", "", ""}, |
| 248 | {"Minimize All.mnemonic", "", "", "", ""}, |
| 249 | {"Name", "", "", "", ""}, |
| 250 | {"Name and Build", "PhonyName", "PhonyBuild", "", ""}, |
| 251 | {"Name Build and Mode", "PhonyName", "PhonyBuild", "PhonyMode", ""}, |
| 252 | {"Name State", "PhonyName", "PhonyState", "", ""}, |
| 253 | {"Name State LockName", "PhonyName", "PhonyState", "PhonyLock", ""}, |
| 254 | {"Name State LockName LockOwner", "PhonyName", "PhonyState", "PhonyLock", "PhonyOwner"}, |
| 255 | {"New Connection...", "", "", "", ""}, |
| 256 | {"New Connection....mnemonic", "", "", "", ""}, |
| 257 | {"No deadlock detected", "", "", "", ""}, |
| 258 | {"Non-Heap", "", "", "", ""}, |
| 259 | {"Non-Heap Memory Usage", "", "", "", ""}, |
| 260 | {"Notification", "", "", "", ""}, |
| 261 | {"Notification buffer", "", "", "", ""}, |
| 262 | {"Notifications", "", "", "", ""}, |
| 263 | {"NotifTypes", "", "", "", ""}, |
| 264 | {"Number of Loaded Classes", "", "", "", ""}, |
| 265 | {"Number of processors", "", "", "", ""}, |
| 266 | {"Number of Threads", "", "", "", ""}, |
| 267 | {"ObjectName", "", "", "", ""}, |
| 268 | {"Operating System", "", "", "", ""}, |
| 269 | {"Operation", "", "", "", ""}, |
| 270 | {"Operation invocation", "", "", "", ""}, |
| 271 | {"Operation return value", "", "", "", ""}, |
| 272 | {"Operations", "", "", "", ""}, |
| 273 | {"Overview", "", "", "", ""}, |
| 274 | {"OverviewPanel.plotter.accessibleName", "PhonyPlotter", "", "", ""}, |
| 275 | {"Parameter", "", "", "", ""}, |
| 276 | {"Password: ", "", "", "", ""}, |
| 277 | {"Password: .mnemonic", "", "", "", ""}, |
| 278 | {"Password.accessibleName", "", "", "", ""}, |
| 279 | {"Peak", "", "", "", ""}, |
| 280 | {"Perform GC", "", "", "", ""}, |
| 281 | {"Perform GC.mnemonic", "", "", "", ""}, |
| 282 | {"Perform GC.toolTip", "", "", "", ""}, |
| 283 | {"Plotter.accessibleName", "", "", "", ""}, |
| 284 | {"Plotter.accessibleName.keyAndValue", "Key", "Value", "", ""}, |
| 285 | {"Plotter.accessibleName.noData", "", "", "", ""}, |
| 286 | {"Plotter.saveAsMenuItem", "", "", "", ""}, |
| 287 | {"Plotter.saveAsMenuItem.mnemonic", "", "", "", ""}, |
| 288 | {"Plotter.timeRangeMenu", "", "", "", ""}, |
| 289 | {"Plotter.timeRangeMenu.mnemonic", "", "", "", ""}, |
| 290 | {"plot", "", "", "", ""}, |
| 291 | {"Problem adding listener", "", "", "", ""}, |
| 292 | {"Problem displaying MBean", "", "", "", ""}, |
| 293 | {"Problem invoking", "", "", "", ""}, |
| 294 | {"Problem removing listener", "", "", "", ""}, |
| 295 | {"Problem setting attribute", "", "", "", ""}, |
| 296 | {"Process CPU time", "", "", "", ""}, |
| 297 | {"Readable", "", "", "", ""}, |
| 298 | {"Reconnect", "", "", "", ""}, |
| 299 | {"Remote Process:", "", "", "", ""}, |
| 300 | {"Remote Process:.mnemonic", "", "", "", ""}, |
| 301 | {"Remote Process.textField.accessibleName", "", "", "", ""}, |
| 302 | {"remoteTF.usage", "", "", "", ""}, |
| 303 | {"Restore All", "", "", "", ""}, |
| 304 | {"Restore All.mnemonic", "", "", "", ""}, |
| 305 | {"ReturnType", "", "", "", ""}, |
| 306 | {"SeqNum", "", "", "", ""}, |
| 307 | {"Size Bytes", 512, "", "", ""}, |
| 308 | {"Size Gb", 512, "", "", ""}, |
| 309 | {"Size Kb", 512, "", "", ""}, |
| 310 | {"Size Mb", 512, "", "", ""}, |
| 311 | {"Source", "", "", "", ""}, |
| 312 | {"Stack trace", "", "", "", ""}, |
| 313 | {"SummaryTab.headerDateTimeFormat", "", "", "", ""}, |
| 314 | {"SummaryTab.pendingFinalization.label", "", "", "", ""}, |
| 315 | {"SummaryTab.pendingFinalization.value", "ObjectCount", "", "", ""}, |
| 316 | {"SummaryTab.tabName", "", "", "", ""}, |
| 317 | {"SummaryTab.vmVersion", "VMName", "VMVersion", "", ""}, |
| 318 | {"ThreadTab.infoLabelFormat", "LiveCount", "PeakCount", "TotalCount", ""}, |
| 319 | {"ThreadTab.threadInfo.accessibleName", "", "", "", ""}, |
| 320 | {"ThreadTab.threadPlotter.accessibleName", "", "", "", ""}, |
| 321 | {"Threads", "", "", "", ""}, |
| 322 | {"Threshold", "", "", "", ""}, |
| 323 | {"Tile", "", "", "", ""}, |
| 324 | {"Tile.mnemonic", "", "", "", ""}, |
| 325 | {"Time", "", "", "", ""}, |
| 326 | {"Time Range:", "", "", "", ""}, |
| 327 | {"Time Range:.mnemonic", "", "", "", ""}, |
| 328 | {"TimeStamp", "", "", "", ""}, |
| 329 | {"Total classes loaded", "", "", "", ""}, |
| 330 | {"Total classes unloaded", "", "", "", ""}, |
| 331 | {"Total compile time", "", "", "", ""}, |
| 332 | {"Total Loaded", "", "", "", ""}, |
| 333 | {"Total physical memory", "", "", "", ""}, |
| 334 | {"Total swap space", "", "", "", ""}, |
| 335 | {"Total threads started", "", "", "", ""}, |
| 336 | {"Type", "", "", "", ""}, |
| 337 | {"Unavailable", "", "", "", ""}, |
| 338 | {"UNKNOWN", "", "", "", ""}, |
| 339 | {"Unregister", "", "", "", ""}, |
| 340 | {"Uptime", "", "", "", ""}, |
| 341 | {"Usage Threshold", "", "", "", ""}, |
| 342 | {"Used", "", "", "", ""}, |
| 343 | {"Username: ", "", "", "", ""}, |
| 344 | {"Username: .mnemonic", "", "", "", ""}, |
| 345 | {"Username.accessibleName", "", "", "", ""}, |
| 346 | {"UserData", "", "", "", ""}, |
| 347 | {"Value", "", "", "", ""}, |
| 348 | {"Vendor", "", "", "", ""}, |
| 349 | {"Verbose Output", "", "", "", ""}, |
| 350 | {"Verbose Output.toolTip", "", "", "", ""}, |
| 351 | {"visualize", "", "", "", ""}, |
| 352 | {"VM", "", "", "", ""}, |
| 353 | {"VMInternalFrame.accessibleDescription", "", "", "", ""}, |
| 354 | {"VM arguments", "", "", "", ""}, |
| 355 | {"Virtual Machine", "", "", "", ""}, |
| 356 | {"Window", "", "", "", ""}, |
| 357 | {"Window.mnemonic", "", "", "", ""}, |
| 358 | {"Writable", "", "", "", ""}, |
| 359 | {"zz usage text", "PhonyName", "", "", ""}, |
| 360 | }; |
| 361 | //boolean verbose = false; |
| 362 | boolean verbose = true; |
| 363 | |
| 364 | long badLookups = 0; |
| 365 | System.out.println("Start..."); |
| 366 | for (int ii = 0; ii < testData.length; ii++) { |
| 367 | String key = (String)testData[ii][0]; |
| 368 | |
| 369 | if (key.endsWith(".mnemonic")) { |
| 370 | String baseKey = key.substring(0, key.length() - ".mnemonic".length()); |
| 371 | int mnemonic = Resources.getMnemonicInt(baseKey); |
| 372 | if (mnemonic == 0) { |
| 373 | badLookups++; |
| 374 | System.out.println("****lookup failed for key = " + key); |
| 375 | } else { |
| 376 | if (verbose) { |
| 377 | System.out.println(" mnemonic: " + KeyEvent.getKeyText(mnemonic)); |
| 378 | } |
| 379 | } |
| 380 | continue; |
| 381 | } |
| 382 | |
| 383 | String ss = Resources.getText(key, |
| 384 | testData[ii][1], |
| 385 | testData[ii][2], |
| 386 | testData[ii][3], |
| 387 | testData[ii][4]); |
| 388 | if (ss.startsWith("missing resource key")) { |
| 389 | badLookups++; |
| 390 | System.out.println("****lookup failed for key = " + key); |
| 391 | } else { |
| 392 | if (verbose) { |
| 393 | System.out.println(" " + ss); |
| 394 | } |
| 395 | } |
| 396 | } |
| 397 | if (badLookups > 0) { |
| 398 | throw new Error ("Resource lookup failed " + badLookups + |
| 399 | " time(s); Test failed"); |
| 400 | } |
| 401 | System.out.println("...Finished."); |
| 402 | } |
| 403 | } |