@Test public void doSubstitution() throws Exception { String xml = "<ModulePrefs title='__MSG_title__'>" + " <Icon>__MSG_icon__</Icon>" + " <Link rel='__MSG_rel__' href='__MSG_link_href__'/>" + " <Preload href='__MSG_pre_href__'/>" + "</ModulePrefs>"; String title = "blah"; String icon = "http://example.org/icon.gif"; String rel = "foo-bar"; String linkHref = "http://example.org/link.html"; String preHref = "http://example.org/preload.html"; ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(xml), SPEC_URL); Substitutions subst = new Substitutions(); subst.addSubstitution(Substitutions.Type.MESSAGE, "title", title); subst.addSubstitution(Substitutions.Type.MESSAGE, "icon", icon); subst.addSubstitution(Substitutions.Type.MESSAGE, "rel", rel); subst.addSubstitution(Substitutions.Type.MESSAGE, "link_href", linkHref); subst.addSubstitution(Substitutions.Type.MESSAGE, "pre_href", preHref); prefs = prefs.substitute(subst); assertEquals(title, prefs.getTitle()); assertEquals(icon, prefs.getIcons().get(0).getContent()); assertEquals(rel, prefs.getLinks().get(rel).getRel()); assertEquals(linkHref, prefs.getLinks().get(rel).getHref().toString()); assertEquals(preHref, prefs.getPreloads().get(0).getHref().toString()); }
private void doAsserts(ModulePrefs prefs) { assertEquals("title", prefs.getTitle()); assertEquals(SPEC_URL.resolve(Uri.parse("title_url")), prefs.getTitleUrl()); assertEquals("description", prefs.getDescription()); assertEquals("author", prefs.getAuthor()); assertEquals("author_email", prefs.getAuthorEmail()); assertEquals(SPEC_URL.resolve(Uri.parse("screenshot")), prefs.getScreenshot()); assertEquals(SPEC_URL.resolve(Uri.parse("thumbnail")), prefs.getThumbnail()); assertEquals("directory_title", prefs.getDirectoryTitle()); assertEquals(1, prefs.getWidth()); assertEquals(2, prefs.getHeight()); assertTrue(prefs.getScrolling()); assertFalse(prefs.getScaling()); assertEquals("category", prefs.getCategories().get(0)); assertEquals("category2", prefs.getCategories().get(1)); assertEquals("author_affiliation", prefs.getAuthorAffiliation()); assertEquals("author_location", prefs.getAuthorLocation()); assertEquals(SPEC_URL.resolve(Uri.parse("author_photo")), prefs.getAuthorPhoto()); assertEquals(SPEC_URL.resolve(Uri.parse("author_link")), prefs.getAuthorLink()); assertEquals("author_aboutme", prefs.getAuthorAboutme()); assertEquals("author_quote", prefs.getAuthorQuote()); assertTrue(prefs.getShowStats()); assertTrue(prefs.getShowInDirectory()); assertTrue(prefs.getSingleton()); assertTrue(prefs.getFeatures().get("require").getRequired()); assertFalse(prefs.getFeatures().get("optional").getRequired()); assertEquals("http://example.org", prefs.getPreloads().get(0).getHref().toString()); assertEquals(1, prefs.getIcons().size()); assertEquals(1, prefs.getLocales().size()); assertEquals(Uri.parse("http://example.org/link"), prefs.getLinks().get("link").getHref()); OAuthService oauth = prefs.getOAuthSpec().getServices().get("serviceOne"); assertEquals(Uri.parse("http://www.example.com/request"), oauth.getRequestUrl().url); assertEquals(OAuthService.Method.GET, oauth.getRequestUrl().method); assertEquals(OAuthService.Method.GET, oauth.getAccessUrl().method); assertEquals(OAuthService.Location.HEADER, oauth.getAccessUrl().location); assertEquals(Uri.parse("http://www.example.com/authorize"), oauth.getAuthorizationUrl()); Multimap<String, Node> extra = prefs.getExtraElements(); assertTrue(extra.containsKey("NavigationItem")); assertEquals(1, extra.get("NavigationItem").iterator().next().getChildNodes().getLength()); }