package org.jabref.gui.fieldeditors;
import java.awt.datatransfer.DataFlavor;
import org.jabref.logic.util.OS;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class HtmlTransferableTest {
@Test
public void testSimpleDivConstruct() throws Exception {
String html = "<div>" + OS.NEWLINE +
" <div>Text</div>" + OS.NEWLINE +
"</div>" + OS.NEWLINE;
HtmlTransferable htmlTransferable = new HtmlTransferable(html);
assertEquals("Text", htmlTransferable.getTransferData(DataFlavor.stringFlavor));
}
@Test
public void testAdvancedDivConstruct() throws Exception {
String html = "<!DOCTYPE html>" + OS.NEWLINE +
"<html>" + OS.NEWLINE +
" <head>" + OS.NEWLINE +
" <meta charset=\"utf-8\">" + OS.NEWLINE +
" </head>" + OS.NEWLINE +
" <body>" + OS.NEWLINE +
OS.NEWLINE +
" <div class=\"csl-entry\">" + OS.NEWLINE +
" <div class=\"csl-left-margin\">Content 1</div>" + OS.NEWLINE +
" </div>" + OS.NEWLINE +
OS.NEWLINE +
"<br>" + OS.NEWLINE +
" <div class=\"csl-entry\">" + OS.NEWLINE +
" <div class=\"csl-left-margin\">Content 2</div>" + OS.NEWLINE +
" </div>" + OS.NEWLINE +
OS.NEWLINE +
" </body>" + OS.NEWLINE +
"</html>" + OS.NEWLINE;
String expected = "Content 1" + OS.NEWLINE + "Content 2";
HtmlTransferable htmlTransferable = new HtmlTransferable(html);
assertEquals(expected, htmlTransferable.getTransferData(DataFlavor.stringFlavor));
}
@Test
public void testGenerateMagicSpaces() throws Exception {
String html = "<!DOCTYPE html>" + OS.NEWLINE +
"<html>" + OS.NEWLINE +
" <head>" + OS.NEWLINE +
" <meta charset=\"utf-8\">" + OS.NEWLINE +
" </head>" + OS.NEWLINE +
" <body>" + OS.NEWLINE +
OS.NEWLINE +
" <div class=\"csl-entry\">" + OS.NEWLINE +
" <div>number1</div><div class=\"csl-left-margin\">Content 1</div>" + OS.NEWLINE +
" </div>" + OS.NEWLINE +
OS.NEWLINE +
"<br>" + OS.NEWLINE +
" <div class=\"csl-entry\">" + OS.NEWLINE +
" <div>number2</div><div class=\"csl-left-margin\">Content 2</div>" + OS.NEWLINE +
" </div>" + OS.NEWLINE +
OS.NEWLINE +
" </body>" + OS.NEWLINE +
"</html>" + OS.NEWLINE;
String expected = "number1 Content 1" + OS.NEWLINE + "number2 Content 2";
HtmlTransferable htmlTransferable = new HtmlTransferable(html);
assertEquals(expected, htmlTransferable.getTransferData(DataFlavor.stringFlavor));
}
@Test
public void testAmpersandConversion() throws Exception {
String html = "<!DOCTYPE html>" + OS.NEWLINE +
"<html>" + OS.NEWLINE +
" <head>" + OS.NEWLINE +
" <meta charset=\"utf-8\">" + OS.NEWLINE +
" </head>" + OS.NEWLINE +
" <body>" + OS.NEWLINE +
OS.NEWLINE +
" <div>Let's rock & have fun" + OS.NEWLINE +
" </div>" + OS.NEWLINE +
OS.NEWLINE +
" </body>" + OS.NEWLINE +
"</html>" + OS.NEWLINE;
String expected = "Let's rock & have fun";
HtmlTransferable htmlTransferable = new HtmlTransferable(html);
assertEquals(expected, htmlTransferable.getTransferData(DataFlavor.stringFlavor));
}
}