source: josm/trunk/test/functional/org/openstreetmap/josm/gui/history/HistoryBrowserTest.java@ 1707

Last change on this file since 1707 was 1707, checked in by Gubaer, 15 years ago

test cases and test libraries (JUnit 4.6 and FEST)

File size: 3.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.history;
3
4import static org.junit.Assert.fail;
5
6import java.awt.BorderLayout;
7import java.io.File;
8import java.text.MessageFormat;
9import java.util.Properties;
10import java.util.logging.Level;
11import java.util.logging.Logger;
12
13import javax.swing.JFrame;
14
15import org.junit.BeforeClass;
16import org.openstreetmap.josm.Main;
17import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
18import org.openstreetmap.josm.data.osm.history.History;
19import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
20import org.openstreetmap.josm.data.projection.Mercator;
21import org.openstreetmap.josm.gui.PleaseWaitDialog;
22import org.openstreetmap.josm.io.OsmServerHistoryReader;
23import org.openstreetmap.josm.io.OsmTransferException;
24
25public class HistoryBrowserTest extends JFrame {
26
27 static private Logger logger = Logger.getLogger(HistoryBrowserTest.class.getName());
28
29 static Properties testProperties;
30
31 @BeforeClass
32 static public void init() {
33 testProperties = new Properties();
34
35 // load properties
36 //
37 try {
38 testProperties.load(HistoryBrowserTest.class.getResourceAsStream("/test-functional-env.properties"));
39 } catch(Exception e){
40 logger.log(Level.SEVERE, MessageFormat.format("failed to load property file ''{0}''", "test-functional-env.properties"));
41 fail(MessageFormat.format("failed to load property file ''{0}''", "test-functional-env.properties"));
42 }
43
44 // check josm.home
45 //
46 String josmHome = testProperties.getProperty("josm.home");
47 if (josmHome == null) {
48 fail(MessageFormat.format("property ''{0}'' not set in test environment", "josm.home"));
49 } else {
50 File f = new File(josmHome);
51 if (! f.exists() || ! f.canRead()) {
52 fail(MessageFormat.format("property ''{0}'' points to ''{1}'' which is either not existing or not readable", "josm.home", josmHome));
53 }
54 }
55 System.setProperty("josm.home", josmHome);
56 Main.pleaseWaitDlg = new PleaseWaitDialog(null);
57 Main.pref.init(false);
58
59 // init projection
60 Main.proj = new Mercator();
61 }
62
63 private HistoryBrowser browser;
64
65 protected void build() {
66 setSize(500,500);
67 getContentPane().setLayout(new BorderLayout());
68 browser = new HistoryBrowser();
69 getContentPane().add(browser, BorderLayout.CENTER);
70 }
71
72 protected void populate(OsmPrimitiveType type, long id) {
73 OsmServerHistoryReader reader = new OsmServerHistoryReader(type, id);
74 HistoryDataSet ds = null;
75 try {
76 ds = reader.parseHistory();
77 } catch(OsmTransferException e) {
78 e.printStackTrace();
79 return;
80 }
81 History h = ds.getHistory(id);
82 browser.populate(h);
83 }
84
85 public HistoryBrowserTest(){
86 build();
87 populate(OsmPrimitiveType.NODE,354117);
88 }
89
90 static public void main(String args[]) {
91 HistoryBrowserTest.init();
92 new HistoryBrowserTest().setVisible(true);
93 }
94}
Note: See TracBrowser for help on using the repository browser.