| ///******************************************************************************* |
| // * Copyright (c) 2004 - 2006 University Of British Columbia and others. |
| // * All rights reserved. This program and the accompanying materials |
| // * are made available under the terms of the Eclipse Public License v1.0 |
| // * which accompanies this distribution, and is available at |
| // * http://www.eclipse.org/legal/epl-v10.html |
| // * |
| // * Contributors: |
| // * University Of British Columbia - initial API and implementation |
| // *******************************************************************************/ |
| // |
| //package org.eclipse.mylar.sandbox.tests; |
| // |
| //import java.io.BufferedReader; |
| //import java.io.IOException; |
| //import java.io.StringReader; |
| // |
| //import junit.framework.TestCase; |
| // |
| //import org.eclipse.core.runtime.IProgressMonitor; |
| //import org.eclipse.core.runtime.NullProgressMonitor; |
| //import org.eclipse.core.runtime.OperationCanceledException; |
| //import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants; |
| //import org.eclipse.mylar.internal.bugzilla.ui.BugzillaUiPlugin; |
| //import org.eclipse.mylar.internal.bugzilla.ui.search.BugzillaSearchHit; |
| // |
| //import com.sun.org.apache.xerces.internal.impl.xpath.regex.Match; |
| //import com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression; |
| // |
| ///** |
| // * @author Mik Kersten |
| // * @author Marco Sferra |
| // */ |
| //public class CollabNetRegularExpressionTest extends TestCase { |
| // |
| // private static final RegularExpression reColVal1 = new RegularExpression( |
| // "<span class=\"issue_type\">([^>]+)</span>", "i"); |
| // |
| // private static final RegularExpression reColVal2 = new RegularExpression("<span class=\"priority\">([^>]+)</span>", |
| // "i"); |
| // |
| // private static final RegularExpression reColVal3 = new RegularExpression("<span class=\"platform\">([^>]+)</span>", |
| // "i"); |
| // |
| // private static final RegularExpression reColVal4 = new RegularExpression("<span class=\"owner\">([^>]+)</span>", |
| // "i"); |
| // |
| // private static final RegularExpression reColVal5 = new RegularExpression("<span class=\"status\">([^>]+)</span>", |
| // "i"); |
| // |
| // private static final RegularExpression reColVal6 = new RegularExpression( |
| // "<span class=\"resolution\">([^>]+)</span>", "i"); |
| // |
| // private static final RegularExpression reColVal7 = new RegularExpression("<span class=\"summary\">([^>]+)</span>", |
| // "i"); |
| // |
| // public void testMatchV220() throws IOException { |
| // BufferedReader in = new BufferedReader(new StringReader(EXAMPLE_REPORT)); |
| // Match match = new Match(); |
| // BugzillaSearchHit hit = createHit(new NullProgressMonitor(), in, match, |
| // IBugzillaConstants.ECLIPSE_BUGZILLA_URL, 123); |
| // assertEquals("nor", hit.getSeverity()); |
| // assertEquals("P2", hit.getPriority()); |
| // } |
| // |
| // BugzillaSearchHit createHit(IProgressMonitor monitor, BufferedReader in, Match match, String serverUrl, int id) |
| // throws IOException { |
| // |
| // String severity = "none"; |
| // String priority = "none"; |
| // String platform = "none"; |
| // String owner = "none"; |
| // String state = "none"; |
| // String result = "none"; |
| // String summary = "none"; |
| // |
| // do { |
| // if (monitor.isCanceled()) { |
| // throw new OperationCanceledException("Search cancelled"); |
| // } |
| // String line = in.readLine(); |
| // if (line == null) { |
| // break; |
| // } |
| // line = line.trim(); |
| // if (severity.equals("none")) { |
| // severity = readSeverity(line); |
| // } |
| // if (priority.equals("none")) { |
| // priority = readPriority(line); |
| // } |
| // if (platform.equals("none")) { |
| // platform = readPlatform(line); |
| // } |
| // if (owner.equals("none")) { |
| // owner = readOwner(line); |
| // } |
| // if (state.equals("none")) { |
| // state = readStatus(line); |
| // } |
| // if (result.equals("none")) { |
| // result = readResolution(line); |
| // } |
| // if (summary.equals("none")) { |
| // summary = readSummary(line); |
| // } |
| // } while (summary.equals("none")); |
| // |
| // String description = "<activate to view description>"; |
| // |
| // // String server = "<unknown server>"; |
| // |
| // String query = ""; |
| // try { |
| // String recentQuery = BugzillaUiPlugin.getMostRecentQuery(); |
| // if (recentQuery != null) { |
| // query = recentQuery; |
| // } |
| // // server = BugzillaPlugin.getDefault().getServerName(); |
| // } catch (Exception exception1) { |
| // } |
| // return new BugzillaSearchHit(serverUrl, id, description, severity, priority, platform, state, result, owner, |
| // query); |
| // |
| // } |
| // |
| // private static final String EXAMPLE_REPORT = "<tr class=\"b\">\n" + "<td>\n" |
| // + "<a href=\"show_bug.cgi?id=1\">1</a>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"issue_type\">nor</span>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"priority\">P2</span>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"platform\">All</span>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"owner\">euxx</span>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"status\">NEW</span>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"resolution\">no result</span>\n" + "</td>\n" |
| // + "<td class=\"red\"><span class=\"summary\">Security context is not getting propagated</span>\n" |
| // + "</td>\n" + "</tr>\n"; |
| // |
| // public static String readSeverity(String line) { |
| // Match match = new Match(); |
| // if (reColVal1.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| // public static String readPriority(String line) { |
| // Match match = new Match(); |
| // if (reColVal2.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| // public static String readPlatform(String line) { |
| // Match match = new Match(); |
| // if (reColVal3.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| // public static String readOwner(String line) { |
| // Match match = new Match(); |
| // if (reColVal4.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| // public static String readStatus(String line) { |
| // Match match = new Match(); |
| // if (reColVal5.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| // public static String readResolution(String line) { |
| // Match match = new Match(); |
| // if (reColVal6.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| // public static String readSummary(String line) { |
| // Match match = new Match(); |
| // if (reColVal7.matches(line, match)) { |
| // return match.getCapturedText(1); |
| // } else { |
| // return "none"; |
| // } |
| // } |
| // |
| //} |