// Path: src/main/java/com/yammer/httptunnel/util/ParameterParser.java
// public class ParameterParser {
// 
// 	/** String to be parsed */
// 	private final char[] chars;
// 
// 	/** Current position in the string */
// 	private int pos;
// 
// 	/** Default ParameterParser constructor */
// 	public ParameterParser(String input) {
// 		if (input == null)
// 			input = "";
// 
// 		chars = input.toCharArray();
// 		pos = 0;
// 	}
// 
// 	/** A helper method to process the parsed token. */
// 	private String getToken(int start, int end, boolean quoted) {
// 		// Trim leading white spaces
// 		while ((start < end) && (Character.isWhitespace(chars[start])))
// 			start++;
// 
// 		// Trim trailing white spaces
// 		while ((end > start) && (Character.isWhitespace(chars[end - 1])))
// 			end--;
// 
// 		// Strip away quotes if necessary
// 		if (quoted) {
// 			if (((end - start) >= 2) && (chars[start] == '"') && (chars[end - 1] == '"')) {
// 				start++;
// 				end--;
// 			}
// 		}
// 
// 		if (end >= start)
// 			return new String(chars, start, end - start);
// 
// 		return null;
// 	}
// 
// 	/**
// 	 * Parse out a token until any of the given terminators is encountered.
// 	 */
// 	private String parseToken(final char[] terminators) {
// 		int start = pos;
// 		int end = pos;
// 
// 		while (pos < chars.length) {
// 			char ch = chars[pos];
// 			if (StringUtils.inCharArray(terminators, ch))
// 				break;
// 
// 			end++;
// 			pos++;
// 		}
// 
// 		return this.getToken(start, end, false);
// 	}
// 
// 	/**
// 	 * Parse out a token until any of the given terminators is encountered.
// 	 * Special characters in quoted tokens are escaped.
// 	 */
// 	private String parseQuotedToken(final char[] terminators) {
// 		int start = pos;
// 		int end = pos;
// 
// 		boolean quoted = false;
// 		boolean charEscaped = false;
// 
// 		while (pos < chars.length) {
// 			char ch = chars[pos];
// 			if (!quoted && StringUtils.inCharArray(terminators, ch))
// 				break;
// 
// 			if (!charEscaped && ch == '"')
// 				quoted = !quoted;
// 
// 			charEscaped = (!charEscaped && ch == '\\');
// 			end++;
// 			pos++;
// 		}
// 
// 		return this.getToken(start, end, true);
// 	}
// 
// 	public Map<String, String> split(char separator) {
// 		final Map<String, String> params = new HashMap<String, String>();
// 
// 		pos = 0;
// 
// 		while (pos < chars.length) {
// 			final String paramName = this.parseToken(new char[] { '=', separator }).toLowerCase();
// 			String paramValue = null;
// 
// 			if (pos < chars.length && (chars[pos] == '=')) {
// 				pos++; // skip '='
// 				paramValue = this.parseQuotedToken(new char[] { separator });
// 			}
// 
// 			if (pos < chars.length && (chars[pos] == separator))
// 				pos++; // skip separator
// 
// 			if (paramName != null && !(paramName.isEmpty() && paramValue == null))
// 				params.put(paramName, paramValue);
// 		}
// 
// 		return params;
// 	}
// }


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.Map;
import org.junit.Test;
import com.yammer.httptunnel.util.ParameterParser;
package com.yammer.httptunnel.util;





public class ParameterParserTest {

	@Test
	public void testSingleParam() {
// Path: src/main/java/com/yammer/httptunnel/util/ParameterParser.java
// public class ParameterParser {
// 
// 	/** String to be parsed */
// 	private final char[] chars;
// 
// 	/** Current position in the string */
// 	private int pos;
// 
// 	/** Default ParameterParser constructor */
// 	public ParameterParser(String input) {
// 		if (input == null)
// 			input = "";
// 
// 		chars = input.toCharArray();
// 		pos = 0;
// 	}
// 
// 	/** A helper method to process the parsed token. */
// 	private String getToken(int start, int end, boolean quoted) {
// 		// Trim leading white spaces
// 		while ((start < end) && (Character.isWhitespace(chars[start])))
// 			start++;
// 
// 		// Trim trailing white spaces
// 		while ((end > start) && (Character.isWhitespace(chars[end - 1])))
// 			end--;
// 
// 		// Strip away quotes if necessary
// 		if (quoted) {
// 			if (((end - start) >= 2) && (chars[start] == '"') && (chars[end - 1] == '"')) {
// 				start++;
// 				end--;
// 			}
// 		}
// 
// 		if (end >= start)
// 			return new String(chars, start, end - start);
// 
// 		return null;
// 	}
// 
// 	/**
// 	 * Parse out a token until any of the given terminators is encountered.
// 	 */
// 	private String parseToken(final char[] terminators) {
// 		int start = pos;
// 		int end = pos;
// 
// 		while (pos < chars.length) {
// 			char ch = chars[pos];
// 			if (StringUtils.inCharArray(terminators, ch))
// 				break;
// 
// 			end++;
// 			pos++;
// 		}
// 
// 		return this.getToken(start, end, false);
// 	}
// 
// 	/**
// 	 * Parse out a token until any of the given terminators is encountered.
// 	 * Special characters in quoted tokens are escaped.
// 	 */
// 	private String parseQuotedToken(final char[] terminators) {
// 		int start = pos;
// 		int end = pos;
// 
// 		boolean quoted = false;
// 		boolean charEscaped = false;
// 
// 		while (pos < chars.length) {
// 			char ch = chars[pos];
// 			if (!quoted && StringUtils.inCharArray(terminators, ch))
// 				break;
// 
// 			if (!charEscaped && ch == '"')
// 				quoted = !quoted;
// 
// 			charEscaped = (!charEscaped && ch == '\\');
// 			end++;
// 			pos++;
// 		}
// 
// 		return this.getToken(start, end, true);
// 	}
// 
// 	public Map<String, String> split(char separator) {
// 		final Map<String, String> params = new HashMap<String, String>();
// 
// 		pos = 0;
// 
// 		while (pos < chars.length) {
// 			final String paramName = this.parseToken(new char[] { '=', separator }).toLowerCase();
// 			String paramValue = null;
// 
// 			if (pos < chars.length && (chars[pos] == '=')) {
// 				pos++; // skip '='
// 				paramValue = this.parseQuotedToken(new char[] { separator });
// 			}
// 
// 			if (pos < chars.length && (chars[pos] == separator))
// 				pos++; // skip separator
// 
// 			if (paramName != null && !(paramName.isEmpty() && paramValue == null))
// 				params.put(paramName, paramValue);
// 		}
// 
// 		return params;
// 	}
// }


// Path: src/test/java/com/yammer/httptunnel/util/ParameterParserTest.java
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.Map;
import org.junit.Test;
import com.yammer.httptunnel.util.ParameterParser;

package com.yammer.httptunnel.util;





public class ParameterParserTest {

	@Test
	public void testSingleParam() {
		final ParameterParser parser = new ParameterParser("Realm=\"test\"");