package org.wikipedia.gui;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import java.util.Arrays;
import java.util.List;
import javax.swing.JLabel;
import javax.swing.JTable;
import org.junit.Rule;
import org.junit.Test;
import org.openstreetmap.josm.testutils.JOSMTestRules;
import org.wikipedia.gui.WikidataTagCellRenderer;
public class WikidataTagCellRendererTest {
/**
* Setup test.
*/
@Rule
public JOSMTestRules rules = new JOSMTestRules().preferences();
@Test
public void testRenderLabel() throws Exception {
final List<String> ids = Arrays.asList("Q84", "Q1741", "Q278250");
final WikidataTagCellRenderer renderer = new WikidataTagCellRenderer();
renderer.renderValues(ids, new JTable(), new JLabel());
for (String id : ids) {
// wait for labels to be fetched
renderer.labelCache.get(id).get();
}
final JLabel label = renderer.renderValues(ids, new JTable(), new JLabel());
assertNotNull(label);
assertThat(label.getText(), is("<html>" +
"Q84 <span color='gray'>London</span>; " +
"Q1741 <span color='gray'>Vienna</span>; " +
"Q278250 <span color='gray'>Völs</span>"));
assertThat(label.getToolTipText(), is("<html><ul>" +
"<li>Q84 <span color='gray'>London</span></li>" +
"<li>Q1741 <span color='gray'>Vienna</span></li>" +
"<li>Q278250 <span color='gray'>Völs</span></li></ul>"));
}
}