/* documentr - Edit, maintain, and present software documentation on the web. Copyright (C) 2012-2013 Maik Schreiber This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package de.blizzy.documentr.markdown.macro.impl; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import de.blizzy.documentr.AbstractDocumentrTest; import de.blizzy.documentr.markdown.macro.IMacroContext; import de.blizzy.documentr.markdown.macro.impl.GoogleDocsMacro; public class GoogleDocsMacroTest extends AbstractDocumentrTest { private GoogleDocsMacro runnable; @Mock private IMacroContext context; @Before public void setUp() { runnable = new GoogleDocsMacro(); } @Test public void getHtmlForSpreadsheet() { when(context.getParameters()).thenReturn("https://docs.google.com/spreadsheet/pub?key=0As6LH-BXhcPZdEFtWi1Udl9HM0Z6T3h5NmhLYzlrd1E&output=html"); //$NON-NLS-1$ assertEquals("<iframe class=\"googledocs-document\" src=\"" + //$NON-NLS-1$ "https://docs.google.com/spreadsheet/pub?key=0As6LH-BXhcPZdEFtWi1Udl9HM0Z6T3h5NmhLYzlrd1E&output=html&widget=true" + //$NON-NLS-1$ "\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>", //$NON-NLS-1$ runnable.getHtml(context)); } @Test public void getHtmlForTextDocument() { when(context.getParameters()).thenReturn("https://docs.google.com/document/pub?id=1TjMiACP4BZsPiY3KIXHiXOw11QpLtLOfFC-G-4EQinc"); //$NON-NLS-1$ assertEquals("<iframe class=\"googledocs-document\" src=\"" + //$NON-NLS-1$ "https://docs.google.com/document/pub?id=1TjMiACP4BZsPiY3KIXHiXOw11QpLtLOfFC-G-4EQinc&embedded=true" + //$NON-NLS-1$ "\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>", //$NON-NLS-1$ runnable.getHtml(context)); } @Test public void getHtmlForPresentation() { when(context.getParameters()).thenReturn("https://docs.google.com/presentation/pub?id=1WzJncZtIcd9up5b_MI2oBceQ2PnTmIUSltp0RKYXqJo&start=false&loop=false&delayms=4000"); //$NON-NLS-1$ assertEquals("<iframe class=\"googledocs-document\" src=\"" + //$NON-NLS-1$ "https://docs.google.com/presentation/embed?id=1WzJncZtIcd9up5b_MI2oBceQ2PnTmIUSltp0RKYXqJo&start=false&loop=false&delayms=3000" + //$NON-NLS-1$ "\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>", //$NON-NLS-1$ runnable.getHtml(context)); } @Test public void getHtmlForDrawing() { when(context.getParameters()).thenReturn("https://docs.google.com/drawings/pub?id=1ZHG2f0l-NgC52MwW9nWwbnrNIkE4azVhVJ9plMry3ic&w=210&h=196"); //$NON-NLS-1$ assertEquals("<img src=\"" + //$NON-NLS-1$ "https://docs.google.com/drawings/pub?id=1ZHG2f0l-NgC52MwW9nWwbnrNIkE4azVhVJ9plMry3ic&w=960" + //$NON-NLS-1$ "\"/>", //$NON-NLS-1$ runnable.getHtml(context)); } @Test public void getHtmlForDrawingWithWidth() { when(context.getParameters()).thenReturn("https://docs.google.com/drawings/pub?id=1ZHG2f0l-NgC52MwW9nWwbnrNIkE4azVhVJ9plMry3ic&w=210&h=196 123"); //$NON-NLS-1$ assertEquals("<img src=\"" + //$NON-NLS-1$ "https://docs.google.com/drawings/pub?id=1ZHG2f0l-NgC52MwW9nWwbnrNIkE4azVhVJ9plMry3ic&w=123" + //$NON-NLS-1$ "\"/>", //$NON-NLS-1$ runnable.getHtml(context)); } }