@@ -0,0 +1,2823 @@
+/*%0A * The MIT License%0A * %0A * Copyright (c) 2004-2010, Sun Microsystems, Inc., Alan Harder%0A * %0A * Permission is hereby granted, free of charge, to any person obtaining a copy%0A * of this software and associated documentation files (the %22Software%22), to deal%0A * in the Software without restriction, including without limitation the rights%0A * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0A * copies of the Software, and to permit persons to whom the Software is%0A * furnished to do so, subject to the following conditions:%0A * %0A * The above copyright notice and this permission notice shall be included in%0A * all copies or substantial portions of the Software.%0A * %0A * THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE%0A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,%0A * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN%0A * THE SOFTWARE.%0A */%0Apackage hudson.console;%0A%0Aimport hudson.MarkupText;%0Aimport junit.framework.TestCase;%0A%0A/**%0A * @author Alan Harder%0A */%0Apublic class UrlAnnotatorTest extends TestCase %7B%0A    public void testAnnotate() %7B%0A        ConsoleAnnotator ca = new UrlAnnotator().newInstance(null);%0A        MarkupText text = new MarkupText(%22Hello %3Cfoo%3Ehttp://foo/%3C/foo%3E Bye%22);%0A        ca.annotate(null, text);%0A        assertEquals(%22Hello &lt;foo%3E%3Ca href='http://foo/'%3Ehttp://foo/%3C/a%3E&lt;/foo%3E Bye%22,%0A                     text.toString(true));%0A        text = new MarkupText(%22Hello %5Bfoo%5Dhttp://foo/bar.txt%5B/foo%5D Bye%22);%0A        ca.annotate(null, text);%0A        assertEquals(%22Hello %5Bfoo%5D%3Ca href='http://foo/bar.txt'%3Ehttp://foo/bar.txt%3C/a%3E%5B/foo%5D Bye%22,%0A                     text.toString(true));%0A        text = new MarkupText(%0A                %22Hello 'http://foo' or %5C%22ftp://bar%5C%22 or %3Chttps://baz/%3E or (http://a.b.c/x.y) Bye%22);%0A        ca.annotate(null, text);%0A        assertEquals(%22Hello '%3Ca href='http://foo'%3Ehttp://foo%3C/a%3E' or %5C%22%3Ca href='ftp://bar'%3E%22%0A                + %22ftp://bar%3C/a%3E%5C%22 or &lt;%3Ca href='https://baz/'%3Ehttps://baz/%3C/a%3E%3E or (%3Ca %22%0A                + %22href='http://a.b.c/x.y'%3Ehttp://a.b.c/x.y%3C/a%3E) Bye%22,%0A                text.toString(true));%0A        text = new MarkupText(%22Fake 'http://foo or %5C%22ftp://bar or %3Chttps://baz/ or (http://a.b.c/x.y Bye%22);%0A        ca.annotate(null, text);%0A        assertEquals(%22Fake '%3Ca href='http://foo'%3Ehttp://foo%3C/a%3E or %5C%22%3Ca href='ftp://bar'%3E%22%0A                + %22ftp://bar%3C/a%3E or &lt;%3Ca href='https://baz/'%3Ehttps://baz/%3C/a%3E or (%3Ca %22%0A                + %22href='http://a.b.c/x.y'%3Ehttp://a.b.c/x.y%3C/a%3E Bye%22,%0A                text.toString(true));%0A    %7D%0A%7D%0A

add test for UrlAnnotator