📄 gomentryimpltest.java
字号:
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.processEndElement()' */ public void testProcessEndElement() { try { this.impl.processEndElement(); fail("missing elements"); } catch (GDataParseException e) { // } // atom:entry elements MUST contain exactly one atom:id element. this.impl.setId(new GOMIdImpl()); /* * atom:entry elements that contain no child atom:content element MUST * contain at least one atom:link element with a rel attribute value of * "alternate". */ GOMLink link = new GOMLinkImpl(); link.setRel("alternate"); this.impl.addLink(link); /* * atom:entry elements MUST contain exactly one atom:title element. */ this.impl.setTitle(new GOMTitleImpl()); /* * atom:entry elements MUST contain exactly one atom:updated element. */ this.impl.setUpdated(new GOMUpdatedImpl()); { this.impl.setId(null); try { this.impl.processEndElement(); fail("id is missing"); } catch (GDataParseException e) { // } this.impl.setId(new GOMIdImpl()); } { this.impl.getLinks().clear(); try { this.impl.processEndElement(); fail("link alternate is missing"); } catch (GDataParseException e) { // } this.impl.setContent(new GOMContentImpl()); this.impl.processEndElement(); this.impl.setContent(null); this.impl.addLink(link); } { this.impl.setTitle(null); try { this.impl.processEndElement(); fail("title is missing"); } catch (GDataParseException e) { // } this.impl.setTitle(new GOMTitleImpl()); } { this.impl.setUpdated(null); try { this.impl.processEndElement(); fail("Updated is missing"); } catch (GDataParseException e) { // } this.impl.setUpdated(new GOMUpdatedImpl()); } /* * atom:entry elements MUST NOT contain more than one atom:link element * with a rel attribute value of "alternate" that has the same * combination of type and hreflang attribute values. */ link.setType("test"); link.setHrefLang("http://www.apache.org"); this.impl.addLink(link); try { this.impl.processEndElement(); fail("doulbe alternate link with same type and hreflang"); } catch (GDataParseException e) { // } this.impl.getLinks().remove(0); /* * # atom:entry elements MUST contain an atom:summary element in either * of the following cases: * * the atom:entry contains an atom:content that has a "src" attribute * (and is thus empty). the atom:entry contains content that is encoded * in Base64; i.e., the "type" attribute of atom:content is a MIME media * type [MIMEREG], but is not an XML media type [RFC3023], does not * begin with "text/", and does not end with "/xml" or "+xml". * * */ GOMContent c = new GOMContentImpl(); c.setSrc(""); this.impl.setContent(c); try { this.impl.processEndElement(); fail("no summary"); } catch (GDataParseException e) { // } c.setSrc(null); c.setAtomMediaType(AtomMediaType.BINARY); try { this.impl.processEndElement(); fail("no summary"); } catch (GDataParseException e) { // } } /* * Test method for * 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.GOMEntryImpl()' */ public void testGOMEntryImpl() { GOMEntryImpl impl2 = new GOMEntryImpl(); assertNotNull(impl2.getQname()); assertEquals(GOMEntry.LOCALNAME, impl.getQname().getLocalPart()); assertEquals(GOMEntry.LOCALNAME, this.impl.getLocalName()); assertEquals(GOMNamespace.ATOM_NS_URI, impl.getQname() .getNamespaceURI()); } /* * Test method for * 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.writeAtomOutput(GOMOutputWriter)' */ public void testWriteAtomOutput() throws XMLStreamException, FactoryConfigurationError { // write a whole feed and check if all elements are written this.impl.addAuthor(new GOMAuthorImpl()); this.impl.addCategory(new GOMCategoryImpl()); this.impl.addContributor(new GOMContributorImpl()); this.impl.addLink(new GOMLinkImpl()); this.impl.setContent(new GOMContentImpl()); this.impl.setId(new GOMIdImpl()); this.impl.setRights(new GOMRightsImpl()); this.impl.setSummary(new GOMSummaryImpl()); this.impl.setTitle(new GOMTitleImpl()); this.impl.setUpdated(new GOMUpdatedImpl()); this.impl.setSource(new GOMSourceImpl()); this.impl.setPublished(new GOMPublishedImpl()); this.impl.extensions.add(new GOMFeedImplTest.TestExtension()); StringWriter stW = new StringWriter(); GOMOutputWriter writer = new GOMStaxWriter(stW); this.impl.writeAtomOutput(writer); String string = stW.toString(); assertTrue(string.contains("xmlns=\"http://www.w3.org/2005/Atom\"")); assertTrue(string.startsWith("<" + GOMEntry.LOCALNAME)); assertTrue(string.contains("<" + GOMAuthor.LOCALNAME)); assertTrue(string.contains("<" + GOMCategory.LOCALNAME)); assertTrue(string.contains("<" + GOMContributor.LOCALNAME)); assertTrue(string.contains("<" + GOMLink.LOCALNAME)); assertTrue(string.contains("<" + GOMId.LOCALNAME)); assertTrue(string.contains("<" + GOMRights.LOCALNAME)); assertTrue(string.contains("<" + GOMSummary.LOCALNAME)); assertTrue(string.contains("<" + GOMContent.LOCALNAME)); assertTrue(string.contains("<" + GOMTitle.LOCALNAME)); assertTrue(string.contains("<" + GOMUpdated.LOCALNAME)); assertTrue(string.contains("<" + GOMSource.LOCALNAME)); assertTrue(string.contains("<" + GOMPublished.LOCALNAME)); assertTrue(string.contains("<test")); assertTrue(string.endsWith("</entry>")); } /* * Test method for * 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.writeRssOutput(GOMOutputWriter)' */ public void testWriteRssOutputGOMOutputWriter() throws XMLStreamException, FactoryConfigurationError { // write a whole feed and check if all elements are written this.impl.addAuthor(new GOMAuthorImpl()); this.impl.addCategory(new GOMCategoryImpl()); this.impl.addContributor(new GOMContributorImpl()); GOMLink link = new GOMLinkImpl(); link.setRel("enclosure"); link.setHref("test"); link.setType("testType"); this.impl.addLink(link); this.impl.setContent(new GOMContentImpl()); this.impl.setId(new GOMIdImpl()); this.impl.setRights(new GOMRightsImpl()); GOMSummaryImpl summ = new GOMSummaryImpl(); summ.xmlLang = "de"; this.impl.setSummary(summ); this.impl.setTitle(new GOMTitleImpl()); this.impl.setUpdated(new GOMUpdatedImpl()); this.impl.setSource(new GOMSourceImpl()); this.impl.setPublished(new GOMPublishedImpl()); this.impl.extensions.add(new GOMFeedImplTest.TestExtension()); StringWriter stW = new StringWriter(); GOMOutputWriter writer = new GOMStaxWriter(stW); this.impl.writeRssOutput(writer); String string = stW.toString(); assertTrue(string .contains("xmlns:atom=\"http://www.w3.org/2005/Atom\"")); assertTrue(string.startsWith("<" + GOMEntry.LOCALNAME_RSS)); assertTrue(string.contains("<" + GOMId.LOCALNAME_RSS)); assertTrue(string.contains("<pubDate")); assertTrue(string.contains("<atom:" + GOMUpdated.LOCALNAME)); assertTrue(string.contains("<" + GOMId.LOCALNAME_RSS)); assertTrue(string.contains("<language")); assertTrue(string.contains("<category domain=\"")); assertTrue(string.contains("<title")); assertTrue(string.contains("<atom:summary")); assertTrue(string.contains("<description")); // a link element assertTrue(string.contains("<enclosure")); assertTrue(string.contains("<author")); assertTrue(string.contains("<atom:test")); assertTrue(string.endsWith("</item>")); } /* * Test method for * 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.getExtensions()' */ public void testGetExtensions() { { List<GOMExtension> extensions = this.impl.getExtensions(); assertNotNull(extensions); assertEquals(0, extensions.size()); } QName name = new QName(TEST_LOCAL_NAME); this.impl.setExtensionFactory(new TestExtendsionFactory()); AtomParser childParser = this.impl.getChildParser(name); assertTrue(childParser instanceof TestExtension); List<GOMExtension> extensions = this.impl.getExtensions(); assertNotNull(extensions); assertEquals(1, extensions.size()); assertSame(childParser, extensions.get(0)); } /* * Test method for * 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.setExtensionFactory(GOMExtensionFactory)' */ public void testSetExtensionFactory() { QName name = new QName(TEST_LOCAL_NAME); try { this.impl.getChildParser(name); fail("no child hander for this qname"); } catch (GDataParseException e) { // } this.impl.setExtensionFactory(new TestExtendsionFactory()); AtomParser childParser = this.impl.getChildParser(name); assertTrue(childParser instanceof TestExtension); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -