// Copyright (C) 2009 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "<p>AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.google.gwtexpui.safehtml.client; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotSame; public class SafeHtml_WikifyPreformatTest { private static final String B = "<span class=\"wikiPreFormat\">"; private static final String E = "</span><br />"; private static String pre(String raw) { return B + raw + E; } @Test public void testPreformat1() { final SafeHtml o = html("A\n\n This is pre\n formatted"); final SafeHtml n = o.wikify(); assertNotSame(o, n); assertEquals("<p>A</p>"// + "<p>" // + pre(" This is pre") // + pre(" formatted") // + "</p>" // , n.asString()); } @Test public void testPreformat2() { final SafeHtml o = html("A\n\n This is pre\n formatted\n\nbut this is not"); final SafeHtml n = o.wikify(); assertNotSame(o, n); assertEquals("<p>A</p>" // + "<p>" // + pre(" This is pre") // + pre(" formatted") // + "</p>" // + "<p>but this is not</p>" // , n.asString()); } @Test public void testPreformat3() { final SafeHtml o = html("A\n\n Q\n <R>\n S\n\nB"); final SafeHtml n = o.wikify(); assertNotSame(o, n); assertEquals("<p>A</p>" // + "<p>" // + pre(" Q") // + pre(" <R>") // + pre(" S") // + "</p>" // + "<p>B</p>" // , n.asString()); } @Test public void testPreformat4() { final SafeHtml o = html(" Q\n <R>\n S\n\nB"); final SafeHtml n = o.wikify(); assertNotSame(o, n); assertEquals("<p>" // + pre(" Q") // + pre(" <R>") // + pre(" S") // + "</p>" // + "<p>B</p>" // , n.asString()); } private static SafeHtml html(String text) { return new SafeHtmlBuilder().append(text).toSafeHtml(); } }