129485df1063d171e17769b5ad55128abb979a846mikesamuel// Copyright (c) 2013, Mike Samuel 2aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// All rights reserved. 3aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// 4aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// Redistribution and use in source and binary forms, with or without 5aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// modification, are permitted provided that the following conditions 6aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// are met: 7aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// 8aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// Redistributions of source code must retain the above copyright 9aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// notice, this list of conditions and the following disclaimer. 10aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// Redistributions in binary form must reproduce the above copyright 11aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// notice, this list of conditions and the following disclaimer in the 12aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// documentation and/or other materials provided with the distribution. 13aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// Neither the name of the OWASP nor the names of its contributors may 14aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// be used to endorse or promote products derived from this software 15aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// without specific prior written permission. 16aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel// POSSIBILITY OF SUCH DAMAGE. 28aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 29aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuelpackage org.owasp.html; 30aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 31aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuelimport java.io.IOException; 32aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 33aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuelimport junit.framework.TestCase; 34aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 35aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuelimport org.junit.Test; 36aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuelimport org.owasp.html.examples.UrlTextExample; 37aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 38aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuelpublic class UrlTextExampleTest extends TestCase { 39aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 40aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel @Test 41aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel public void testExample() throws IOException { 42aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel StringBuilder out = new StringBuilder(); 43aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel UrlTextExample.run( 44aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel out, 45aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel "<a href='//www.example.com/'>Examples<br> like this</a> are fun!\n", 46aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel "<img src='https://www.example.com/example.png'> are fun!\n", 47aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel "<a href='www.google.com'>This</a> is not a link to google!" 48aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel ); 49aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel assertEquals( 50aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel "" 51aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel + "<a href=\"//www.example.com/\">Examples<br /> like this</a>" 52aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel + " - www.example.com are fun!\n" 53aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel + "<img src=\"https://www.example.com/example.png\" />" 54aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel + " - www.example.com are fun!\n" 55aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel + "<a href=\"www.google.com\">This</a> is not a link to google!", 56aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel out.toString()); 57aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel } 58aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel 59aab0cbeeb7abb201e1ed154fd1db4e4846e51692mikesamuel} 60