protected TokenIterator createTokenIterator(String pString) { return new StringTokenIterator(pString); }
protected TokenIterator createTokenIterator(String pString, String pDelimiters) { return new StringTokenIterator(pString, pDelimiters); }
/** * Converts a delimiter separated String to an array of Strings. * * @param pString The comma-separated string * @param pDelimiters The delimiter string * @return a {@code String} array containing the delimiter separated elements */ public static String[] toStringArray(String pString, String pDelimiters) { if (isEmpty(pString)) { return new String[0]; } StringTokenIterator st = new StringTokenIterator(pString, pDelimiters); List<String> v = new ArrayList<String>(); while (st.hasMoreElements()) { v.add(st.nextToken()); } return v.toArray(new String[v.size()]); }
@Override public int read() throws IOException { // Each number is one byte. Skip whitespace. if (currentLine == null || !currentLine.hasNext()) { String line = reader.readLine(); if (line == null) { return -1; } currentLine = new StringTokenIterator(line); if (!currentLine.hasNext()) { return -1; } } return Integer.parseInt(currentLine.next()) & 0xff; }
@Override public int read() throws IOException { if (leftOver != -1) { int next = leftOver; leftOver = -1; return next; } // Each number is one byte. Skip whitespace. if (currentLine == null || !currentLine.hasNext()) { String line = reader.readLine(); if (line == null) { return -1; } currentLine = new StringTokenIterator(line); if (!currentLine.hasNext()) { return -1; } } int next = Integer.parseInt(currentLine.next()) & 0xffff; leftOver = next & 0xff; return (next >> 8) & 0xff; }
StringTokenIterator tokens = new StringTokenIterator(last, " ", StringTokenIterator.REVERSE); int count = 0;
@Test public void triggerWithTriggerParams() throws ServletException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("triggerParams")); when(filterConfig.getInitParameter("triggerParams")).thenReturn("foo"); DummyFilter filter = new DummyFilter(); filter.init(filterConfig); // Request/response setup HttpServletRequest request = mock(HttpServletRequest.class); when(request.getParameter("foo")).thenReturn("doit"); // Execute/Verifications assertTrue(filter.trigger(request)); }
@Test public void triggerWhenTriggerParamsNull() throws ServletException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar")); DummyFilter filter = new DummyFilter(); filter.init(filterConfig); // Execute/Verifications assertTrue(filter.trigger(mock(HttpServletRequest.class))); }
@Test public void dontTriggerWithoutTriggerParams() throws ServletException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("triggerParams")); when(filterConfig.getInitParameter("triggerParams")).thenReturn("foo"); DummyFilter filter = new DummyFilter(); filter.init(filterConfig); // Request/response setup HttpServletRequest request = mock(HttpServletRequest.class); // Execute/Verifications assertFalse(filter.trigger(request)); }
@Test public void passThroughIfNotTrigger() throws ServletException, IOException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar")); DummyFilter filter = new DummyFilter() { @Override protected boolean trigger(ServletRequest pRequest) { return false; } }; filter.init(filterConfig); // Request/response setup HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class); FilterChain chain = mock(FilterChain.class); // Execute filter.doFilter(request, response, chain); // Verifications verify(chain).doFilter(request, response); verify(response, never()).getOutputStream(); verify(response, never()).getWriter(); }
@Test public void filterNoContent() throws ServletException, IOException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar")); DummyFilter filter = new DummyFilter(); filter.init(filterConfig); // Request/response setup ServletOutputStream out = mock(ServletOutputStream.class); HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class); when(response.getOutputStream()).thenReturn(out); FilterChain chain = mock(FilterChain.class); doAnswer(new Answer<Void>() { public Void answer(InvocationOnMock invocation) throws Throwable { HttpServletResponse response = (HttpServletResponse) invocation.getArguments()[1]; response.setContentType("image/x-imaginary"); return null; } }).when(chain).doFilter(any(ServletRequest.class), any(ServletResponse.class)); // Execute filter.doFilter(request, response, chain); // Verifications verify(chain).doFilter(any(ServletRequest.class), any(ServletResponse.class)); verify(response).setContentType("image/x-imaginary"); verify(out, atLeastOnce()).flush(); }
@Test(expected = ServletException.class) public void normalFilterException() throws ServletException, IOException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar")); DummyFilter filter = new DummyFilter(); filter.init(filterConfig); // Request/response setup ByteArrayOutputStream stream = new ByteArrayOutputStream(); ServletOutputStream out = spy(new OutputStreamAdapter(stream)); HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class); when(response.getOutputStream()).thenReturn(out); FilterChain chain = mock(FilterChain.class); doThrow(new ServletException("Something went terribly wrong. Take shelter.")).when(chain).doFilter(any(ServletRequest.class), any(ServletResponse.class)); // Execute try { filter.doFilter(request, response, chain); } finally { // Verifications verify(chain).doFilter(any(ServletRequest.class), any(ServletResponse.class)); } }
when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar"));
when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar"));
when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar"));
when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar"));
when(fooConfig.getFilterName()).thenReturn("foo"); when(fooConfig.getServletContext()).thenReturn(context); when(fooConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("")); when(barConfig.getFilterName()).thenReturn("bar"); when(barConfig.getServletContext()).thenReturn(context); when(barConfig.getInitParameterNames()).thenReturn(new StringTokenIterator(""));
protected TokenIterator createTokenIterator(String pString) { return new StringTokenIterator(pString); }
protected TokenIterator createTokenIterator(String pString, String pDelimiters) { return new StringTokenIterator(pString, pDelimiters); }
@Test public void triggerWhenTriggerParamsNull() throws ServletException { // Filter init & setup ServletContext context = mock(ServletContext.class); FilterConfig filterConfig = mock(FilterConfig.class); when(filterConfig.getFilterName()).thenReturn("dummy"); when(filterConfig.getServletContext()).thenReturn(context); when(filterConfig.getInitParameterNames()).thenReturn(new StringTokenIterator("foo, bar")); DummyFilter filter = new DummyFilter(); filter.init(filterConfig); // Execute/Verifications assertTrue(filter.trigger(mock(HttpServletRequest.class))); }