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

Last change on this file since 5556 was 5556, checked in by Don-vip, 11 years ago

see #8172 - fix JUnit tests

File size: 3.4 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.SimplePrimitiveId;
19import org.openstreetmap.josm.data.osm.history.History;
20import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
21import org.openstreetmap.josm.data.projection.Projections;
22import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
23import org.openstreetmap.josm.io.OsmServerHistoryReader;
24import org.openstreetmap.josm.io.OsmTransferException;
25
26public class HistoryBrowserTest extends JFrame {
27
28 static private Logger logger = Logger.getLogger(HistoryBrowserTest.class.getName());
29
30 static Properties testProperties;
31
32 @BeforeClass
33 static public void init() {
34 testProperties = new Properties();
35
36 // load properties
37 //
38 try {
39 testProperties.load(HistoryBrowserTest.class.getResourceAsStream("/test-functional-env.properties"));
40 } catch(Exception e){
41 logger.log(Level.SEVERE, MessageFormat.format("failed to load property file ''{0}''", "test-functional-env.properties"));
42 fail(MessageFormat.format("failed to load property file ''{0}''", "test-functional-env.properties"));
43 }
44
45 // check josm.home
46 //
47 String josmHome = testProperties.getProperty("josm.home");
48 if (josmHome == null) {
49 fail(MessageFormat.format("property ''{0}'' not set in test environment", "josm.home"));
50 } else {
51 File f = new File(josmHome);
52 if (! f.exists() || ! f.canRead()) {
53 fail(MessageFormat.format("property ''{0}'' points to ''{1}'' which is either not existing or not readable", "josm.home", josmHome));
54 }
55 }
56 System.setProperty("josm.home", josmHome);
57 Main.pref.init(false);
58
59 // init projection
60 Main.setProjection(Projections.getProjectionByCode("EPSG:3857")); // 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(NullProgressMonitor.INSTANCE);
77 } catch(OsmTransferException e) {
78 e.printStackTrace();
79 return;
80 }
81 History h = ds.getHistory(new SimplePrimitiveId(id, type));
82 browser.populate(h);
83 }
84
85 public HistoryBrowserTest(){
86 build();
87 //populate(OsmPrimitiveType.NODE,354117);
88 //populate(OsmPrimitiveType.WAY,37951);
89 populate(OsmPrimitiveType.RELATION,5055);
90
91 }
92
93 static public void main(String args[]) {
94 HistoryBrowserTest.init();
95 new HistoryBrowserTest().setVisible(true);
96 }
97}
Note: See TracBrowser for help on using the repository browser.