private boolean browserMatches() { if (browserMatch.isEmpty()) { // Not browser-sensitive. return true; } UserAgent ua = uaProvider.get(); List<VersionMatcher> versionMatchers = browserMatch.get(ua.getBrowser()); if (versionMatchers != null) { for (VersionMatcher matcher : versionMatchers) { if (matcher.matches(ua.getVersion())) return true; } } return false; }
public UserAgent parse(String agentVersion) { return new UserAgent(UserAgent.Browser.OTHER, agentVersion); } }
/** * @return Numeric version number, if parseable. Otherwise -1. */ public double getVersionNumber() { // Attempt to retrieve the numeric part of a version string. Matcher matcher = VERSION_NUMBER_REGEX.matcher(getVersion()); if (!matcher.matches()) { return -1; } String matched = matcher.group(1); return Double.parseDouble(matched); }
@Test public void testVersionNumberParsingEmbeddedInTheMiddle() { assertEquals(1.5, getUaEntry("beta 1.5 rc 5").getVersionNumber(), 0); } }
/** * @return Numeric version number, if parseable. Otherwise -1. */ public double getVersionNumber() { // Attempt to retrieve the numeric part of a version string. Matcher matcher = VERSION_NUMBER_REGEX.matcher(getVersion()); if (!matcher.matches()) { return -1; } String matched = matcher.group(1); return Double.parseDouble(matched); }
@Test public void testVersionNumberParsingEmbeddedInTheMiddle() { assertEquals(1.5, getUaEntry("beta 1.5 rc 5").getVersionNumber(), 0); } }
private boolean browserMatches() { if (browserMatch.isEmpty()) { // Not browser-sensitive. return true; } UserAgent ua = uaProvider.get(); List<VersionMatcher> versionMatchers = browserMatch.get(ua.getBrowser()); if (versionMatchers != null) { for (VersionMatcher matcher : versionMatchers) { if (matcher.matches(ua.getVersion())) return true; } } return false; }
/** * @return Numeric version number, if parseable. Otherwise -1. */ public double getVersionNumber() { // Attempt to retrieve the numeric part of a version string. Matcher matcher = VERSION_NUMBER_REGEX.matcher(getVersion()); if (!matcher.matches()) { return -1; } String matched = matcher.group(1); return Double.parseDouble(matched); }
@Test public void testVersionNumberParsingNoMatch() { assertEquals(-1, getUaEntry("invalid").getVersionNumber(), 0); } }
public UserAgent parse(String agentVersion) { return new UserAgent(UserAgent.Browser.OTHER, agentVersion); } }
private boolean browserMatches() { if (browserMatch.isEmpty()) { // Not browser-sensitive. return true; } UserAgent ua = uaProvider.get(); List<VersionMatcher> versionMatchers = browserMatch.get(ua.getBrowser()); if (versionMatchers != null) { for (VersionMatcher matcher : versionMatchers) { if (matcher.matches(ua.getVersion())) return true; } } return false; }
/** * @return Numeric version number, if parseable. Otherwise -1. */ public double getVersionNumber() { // Attempt to retrieve the numeric part of a version string. Matcher matcher = VERSION_NUMBER_REGEX.matcher(getVersion()); if (!matcher.matches()) { return -1; } String matched = matcher.group(1); return Double.parseDouble(matched); }
@Test public void testVersionNumberParsingNoMatch() { assertEquals(-1, getUaEntry("invalid").getVersionNumber(), 0); } }
public UserAgent parse(String agentVersion) { return new UserAgent(UserAgent.Browser.OTHER, agentVersion); } }
@Test public void testProviderWorks() { String agentVersion = "AGENT_VERSION"; HttpServletRequest req = mock(HttpServletRequest.class); expect(req.getHeader("User-Agent")).andReturn(agentVersion).once(); replay(); HttpServletUserAgentProvider provider = new HttpServletUserAgentProvider( parser, new HttpServletRequestProvider(req)); UserAgent entry = provider.get(); assertEquals(UserAgent.Browser.OTHER, entry.getBrowser()); assertEquals(agentVersion, entry.getVersion()); verify(); }
/** * @return Numeric version number, if parseable. Otherwise -1. */ public double getVersionNumber() { // Attempt to retrieve the numeric part of a version string. Matcher matcher = VERSION_NUMBER_REGEX.matcher(getVersion()); if (!matcher.matches()) { return -1; } String matched = matcher.group(1); return Double.parseDouble(matched); }
@Test public void testVersionNumberParsingStandardDecimal() { assertEquals(3.1415, getUaEntry("3.1415").getVersionNumber(), 0); }
public UserAgent parse(String agentVersion) { return new UserAgent(UserAgent.Browser.OTHER, agentVersion); } }
@Test public void testProviderWorks() { String agentVersion = "AGENT_VERSION"; HttpServletRequest req = mock(HttpServletRequest.class); expect(req.getHeader("User-Agent")).andReturn(agentVersion).once(); replay(); HttpServletUserAgentProvider provider = new HttpServletUserAgentProvider( parser, new HttpServletRequestProvider(req)); UserAgent entry = provider.get(); assertEquals(UserAgent.Browser.OTHER, entry.getBrowser()); assertEquals(agentVersion, entry.getVersion()); verify(); }
@Test public void testVersionNumberParsingAlphaSuffix() { assertEquals(4.5, getUaEntry("4.5beta2").getVersionNumber(), 0); }