From b4e06bf77dd3fb1a83649028ee01a75f0fc1fe2d Mon Sep 17 00:00:00 2001 From: Louis Date: Thu, 17 Sep 2015 23:41:55 +0200 Subject: [PATCH] Some more tests --- test/test_authors.py | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/test/test_authors.py b/test/test_authors.py index 5a169453..da659237 100644 --- a/test/test_authors.py +++ b/test/test_authors.py @@ -15,20 +15,40 @@ SPLIT_AUTHORS_DATA = [ ("Cher", ("Cher", "")), ("Red~Hot~Chili~Peppers", ("Red~Hot~Chili~Peppers", "")), ("The mamas~and~the~papas", ("mamas~and~the~papas", "The")), - ("The mamas\ and\ the\ papas", ("mamas\ and\ the\ papas", "The")), + ("The mamas and the papas", ("mamas and the papas", "The")), # Unbreakable spaces + (r"\LaTeX command", ("command", r"\LaTeX")), # LaTeX commands are ignored + (r"\emph{Some braces}", ("braces}", r"\emph{Some")), # LaTeX commands are ignored + (r"The Rolling\ Stones", (r"The Rolling\\", "Stones")), # LaTeX commands are ignored ] PROCESS_AUTHORS_DATA = [ ( - "Lyrics by William Blake (from Milton, 1808), music by Hubert Parry (1916), and sung by The Royal\ Choir~of~FooBar (just here to show you how processing is done)", + "Lyrics by William Blake (from Milton, 1808), music by Hubert Parry (1916), and sung by The Royal~Choir~of~FooBar (just here to show you how processing is done)", [ ("Blake", "William"), ("Parry", "Hubert"), - ("Royal\ Choir~of~FooBar", "The"), - ] - ), + ("Royal~Choir~of~FooBar", "The"), + ] + ), + ( + "Anonyme (1967)", + [], + ), + ( + "Lucky Luke et Jolly Jumper", + [ + ("Luke", "Lucky"), + ("Jumper", "Jolly"), + ], + ), ] +AUTHWORDS = authors.compile_authwords({ + "after": ["by"], + "ignore": ["anonymous", "Anonyme", "anonyme"], + "sep": ['and', 'et'], + }) + class TestAutors(unittest.TestCase): """Test of author parsing.""" @@ -41,13 +61,8 @@ class TestAutors(unittest.TestCase): for argument, expected in PROCESS_AUTHORS_DATA: with self.subTest(argument=argument, expected=expected): self.assertEqual( - authors.processauthors( - argument, - **authors.compile_authwords({ - "after": ["by"], - "ignore": ["anonymous"], - "sep": ['and'], - }) + set( + authors.processauthors(argument, **AUTHWORDS) ), - expected + set(expected) )