From 2e57500777c1919b7e6dcb5b859502e58967540c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Sat, 25 Sep 2010 23:20:29 +0000 Subject: [PATCH] Bugfix for Infinite Loop in NonViralName parser. #1556 some more tests --- .../strategy/parser/NonViralNameParserImplTest.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java b/cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java index 9bacb2255a..de27faf293 100644 --- a/cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java +++ b/cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java @@ -779,10 +779,21 @@ public class NonViralNameParserImplTest { @Test public void testNeverEndingParsing(){ //some full titles result in never ending parsing process https://dev.e-taxonomy.eu/trac/ticket/1556 + + String irinaExample = "Milichiidae Sharp, 1899, Insects. Part II. Hymenopteracontinued (Tubulifera and Aculeata), Coleoptera, Strepsiptera, Lepidoptera, Diptera, Aphaniptera, Thysanoptera, Hemiptera, Anoplura 6: 504. 1899"; + NonViralName nvn = this.parser.parseReferencedName(irinaExample, NomenclaturalCode.ICZN, null); + Assert.assertEquals("Titlecache", "Milichiidae Sharp, 1899", nvn.getTitleCache()); + Assert.assertEquals("If this line reached everything should be ok", "Milichiidae", nvn.getGenusOrUninomial()); + + String anotherExample = "Scorzonera hispanica var. brevifolia Boiss. & Balansa in Boissier, Diagn. Pl. Orient., ser. 2 6: 119. 1859."; + nvn = this.parser.parseReferencedName(anotherExample, NomenclaturalCode.ICBN, null); + Assert.assertEquals("Titlecache", "Scorzonera hispanica var. brevifolia Boiss. & Balansa", nvn.getTitleCache()); + Assert.assertEquals("If this line reached everything should be ok", "Scorzonera", nvn.getGenusOrUninomial()); + String unparsable = "Taraxacum nevskii L., Trudy Bot. Inst. Nauk S.S.S.R., Ser. 1, Fl. Sist. Vyssh. Rast. 4: 293. 1937."; String unparsableA = "Taraxacum nevskii L. in Trudy Bot. Inst. Nauk: 293. 1937."; - NonViralName nvn = this.parser.parseReferencedName(unparsable, NomenclaturalCode.ICBN, null); + nvn = this.parser.parseReferencedName(unparsable, NomenclaturalCode.ICBN, null); Assert.assertEquals("Titlecache", "Taraxacum nevskii L.", nvn.getTitleCache()); Assert.assertEquals("If this line reached everything should be ok", "Taraxacum", nvn.getGenusOrUninomial()); -- 2.34.1