01: /*
02: * Copyright 2007 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package com.google.gwt.junit;
17:
18: import com.google.gwt.core.ext.UnableToCompleteException;
19: import com.google.gwt.dev.shell.BrowserWidget;
20:
21: /**
22: * Runs locally in hosted mode.
23: */
24: class RunStyleLocalHosted extends RunStyle {
25:
26: /**
27: * The containing shell.
28: */
29: protected final JUnitShell shell;
30:
31: /**
32: * A browser window to host local tests.
33: */
34: private BrowserWidget browserWindow;
35:
36: /**
37: * @param shell the containing shell
38: */
39: RunStyleLocalHosted(JUnitShell shell) {
40: this .shell = shell;
41: }
42:
43: @Override
44: public void maybeLaunchModule(String moduleName, boolean forceLaunch)
45: throws UnableToCompleteException {
46: if (forceLaunch) {
47: launchUrl(moduleName + "/");
48: }
49: }
50:
51: protected BrowserWidget getBrowserWindow()
52: throws UnableToCompleteException {
53: if (browserWindow == null) {
54: browserWindow = shell.openNewBrowserWindow();
55: }
56: return browserWindow;
57: }
58:
59: /**
60: * Launches a URL in the browser window.
61: *
62: * @param url The URL to launch.
63: * @throws UnableToCompleteException
64: */
65: protected void launchUrl(String url)
66: throws UnableToCompleteException {
67: getBrowserWindow().go(url);
68: }
69: }
|