-- Tests para [[Module:Demo]]. El resultado está en la página de discusión.
local p = require('Module:UnitTests')
function p:test_hola()
-- Idioma
-- No mostrar el idioma español
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|título = Título con idioma "español" | idioma = español}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|título = Título con idioma "español"}}')
-- Poner el idioma en minúscula
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|título = Título con idioma "Alemán" | idioma = Alemán}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|título = Título con idioma "Alemán" | idioma = alemán}}')
-- Buscar el código del idioma
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|título = Título con idioma "en" | idioma = en}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|título = Título con idioma "en" | idioma = inglés}}')
-- Cita libro
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellido=Cervantes Saavedra | nombre=Miguel de | título=Don Quijote de la Mancha | editorial=Editorial Castalia, S.A. | editor=Sevilla Arroyo, Florencio | ubicación=Madrid | año=1999 | isbn=9788470398131 | páginas=729-741}}',
'{{obra citada|separador=.|apellido=Cervantes Saavedra | nombre=Miguel de | título=Don Quijote de la Mancha | editorial=Editorial Castalia, S.A. | editor=Sevilla Arroyo, Florencio | ubicación=Madrid | año=1999 | isbn=9788470398131 | páginas=729-741}}')
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellido=Lincoln| nombre=A. | apellido2=Washington| nombre2=G.| apellido3=Adams| nombre3=J.| título=All the Presidents' Names| editorial=The Pentagon | ubicación=Home Base, Nueva York| volumen=XII| edición=2.ª| año=2007| idioma = inglés}}",
"{{obra citada|separador=.|apellido=Lincoln| nombre=A. | apellido2=Washington| nombre2=G.| apellido3=Adams| nombre3=J.| título=All the Presidents' Names| editorial=The Pentagon | ubicación=Home Base, Nueva York| volumen=XII| edición=2.ª| año=2007| idioma = inglés}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellido=Marx |nombre=Karl |enlaceautor=Karl Marx |título=[[El Capital]] |idioma=alemán |capítulo=La llamada acumulación originaria |volumen=1 |año=1867 |editorial=Meissner |ubicación=Hamburgo |oclc=7423266}}",
"{{obra citada|separador=.|apellido=Marx |nombre=Karl |enlaceautor=Karl Marx |título=[[El Capital]] |idioma=alemán |capítulo=La llamada acumulación originaria |volumen=1 |año=1867 |editorial=Meissner |ubicación=Hamburgo |oclc=7423266}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|nombre=Juan |apellido=Pérez |enlaceautor=Juan Pérez |apellido2=González |nombre2=Manuel |título=El arte de inventar |año=2005 |mes=febrero |url=http://example.com/ |formato=PDF |capítulo=Capítulo 3: Inventar ejemplos |volumen=2 |idioma=catalán |otros=Traducido por José Rivera |editor=Diego Moya |edición=2ª |editorial=Dito |ubicación=Madrid |isbn=978-84-9725-885-2 |páginas=55-56 |fechaacceso=26 de agosto de 2006 |cita=Inventar ejemplos buenos pero no triviales es un arte complicado.}}",
"{{obra citada|separador=.|nombre=Juan |apellido=Pérez |enlaceautor=Juan Pérez |apellido2=González |nombre2=Manuel |título=El arte de inventar |año=2005 |mes=febrero |url=http://example.com/ |formato=PDF |capítulo=Capítulo 3: Inventar ejemplos |volumen=2 |idioma=catalán |otros=Traducido por José Rivera |editor=Diego Moya |edición=2ª |editorial=Dito |ubicación=Madrid |isbn=978-84-9725-885-2 |páginas=55-56 |fechaacceso=26 de agosto de 2006 |cita=Inventar ejemplos buenos pero no triviales es un arte complicado.}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellido=Pomerol|nombre=J. Ch.|año=1993|título=Choix multicritère dans l'entreprise|título-trad=Selección multicriterio en la empresa|idioma=francés|ubicación=París|editorial=Hermes}}",
"{{obra citada|separador=.|apellido=Pomerol|nombre=J. Ch.|año=1993|título=Choix multicritère dans l'entreprise|título-trad=Selección multicriterio en la empresa|idioma=francés|ubicación=París|editorial=Hermes}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellidos=Kim|nombre=Jae-on|apellidos2=Mueller|nombre2=Charles W.|año=1978a|título=Introduction to Factor Analysis: What It Is and How to Do It|serie=Sage University Paper Series on Quantitative Applications in the Social Sciences|número=07-013|editorial=Sage|ubicación=Newbury Park, CA}}",
"{{obra citada|separador=.|apellidos=Kim|nombre=Jae-on|apellidos2=Mueller|nombre2=Charles W.|año=1978a|título=Introduction to Factor Analysis: What It Is and How to Do It|serie=Sage University Paper Series on Quantitative Applications in the Social Sciences|número=07-013|editorial=Sage|ubicación=Newbury Park, CA}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellidos=Kim|nombre=Jae-on|apellidos2=Mueller|nombre2=Charles W.|año=1978b|título=Factor Analysis: Statistical Methods and Practical Issues|serie=Sage University Paper Series on Quantitative Applications in the Social Sciences|número=07-014|editorial=Sage|ubicación=Beverly Hills, EE. UU.|editor=Eric M.Uslaner|máscaraautor=3}}",
"{{obra citada|separador=.|apellidos=Kim|nombre=Jae-on|apellidos2=Mueller|nombre2=Charles W.|año=1978b|título=Factor Analysis: Statistical Methods and Practical Issues|serie=Sage University Paper Series on Quantitative Applications in the Social Sciences|número=07-014|editorial=Sage|ubicación=Beverly Hills, EE. UU.|editor=Eric M.Uslaner|máscaraautor=3}}")
-- Cita publicación
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=publicación| apellidos=Einstein| nombre=Albert| enlaceautor=Albert Einstein| fecha=25 de noviembre de 1915| título=Die Feldgleichungun der Gravitation| publicación=Sitzungsberichte der Preussischen Akademie der Wissenschaften zu Berlin| páginas=844-847 | url=http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=6E3MAXK4&step=thumb| fechaacceso=12 de septiembre de 2006 | idioma=alemán}}",
"{{obra citada|separador=.| apellidos=Einstein| nombre=Albert| enlaceautor=Albert Einstein| fecha=25 de noviembre de 1915| título=Die Feldgleichungun der Gravitation| publicación=Sitzungsberichte der Preussischen Akademie der Wissenschaften zu Berlin| páginas=844-847 | url=http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=6E3MAXK4&step=thumb| fechaacceso=12 de septiembre de 2006 | idioma=alemán}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=publicación|apellidos=Sanches Bertasso-Borges| nombre=Maristela| apellidos2=Coleman| nombre2=James Robert| año=2005| título=Cytogenetics and embryology of ''Eupatorium laevigatum'' (Compositae)| revista=Genet. Mol. Biol.| volumen=28| número=1| ubicación=São Paulo| páginas= 123-128| issn= 1415-4757| doi= 10.1590/S1415-47572005000100022| url=http://www.scielo.br/scielo.php?pid=S1415-47572005000100022&script=sci_arttext| formato=pdf| fechaacceso= 25 de mayo de 2008}}",
"{{obra citada|separador=.|apellidos=Sanches Bertasso-Borges| nombre=Maristela| apellidos2=Coleman| nombre2=James Robert| año=2005| título=Cytogenetics and embryology of ''Eupatorium laevigatum'' (Compositae)| revista=Genet. Mol. Biol.| volumen=28| número=1| ubicación=São Paulo| páginas= 123-128| issn= 1415-4757| doi= 10.1590/S1415-47572005000100022| url=http://www.scielo.br/scielo.php?pid=S1415-47572005000100022&script=sci_arttext| formato=pdf| fechaacceso= 25 de mayo de 2008}}")
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=publicación|apellido=Casanovas|nombre=L.|apellido2=Santafe|nombre2=J.|fecha=1987|título=''Cantabrotherium truyolsi'' n. gen. n. sp. (Paleoteriidae, Perissodactila), un exemple d'endemisme dans le Paléogène Ibérique|editor=Schmidt-Kittler, N.|publicación=International Symposium on Mammalian Biostratigraphy and Paleoecology of the European Paleogene. Mainz, February 18th-21st 1987. Münchner Geowissenschaftliche Abhandlungen|volumen=10|páginas=243-251|issn=0177-0950|isbn=3-923871-16-3|idioma=francés}}",
"{{obra citada|separador=.|apellido=Casanovas|nombre=L.|apellido2=Santafe|nombre2=J.|fecha=1987|título=''Cantabrotherium truyolsi'' n. gen. n. sp. (Paleoteriidae, Perissodactila), un exemple d'endemisme dans le Paléogène Ibérique|editor=Schmidt-Kittler, N.|publicación=International Symposium on Mammalian Biostratigraphy and Paleoecology of the European Paleogene. Mainz, February 18th-21st 1987. Münchner Geowissenschaftliche Abhandlungen|volumen=10|páginas=243-251|issn=0177-0950|isbn=3-923871-16-3|idioma=francés}}")
-- ************ cita enciclopedia *****************
-- Cita básica a una enciclopedia en línea
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=enciclopedia|apellido=Curd |nombre=Patricia |título=Presocratic Philosophy |idioma=inglés |url=http://plato.stanford.edu/archives/sum2009/entries/presocratics/ |enciclopedia=Stanford Encyclopedia of Philosophy |editor=Edward N. Zalta |edición=Summer 2009 Edition |sined=sin |fechaacceso=25 de julio de 2009}}",
"{{obra citada|separador=. |apellido=Curd |nombre=Patricia |título=Presocratic Philosophy |idioma=inglés |url=http://plato.stanford.edu/archives/sum2009/entries/presocratics/ |enciclopedia=Stanford Encyclopedia of Philosophy |editor=Edward N. Zalta |edición=Summer 2009 Edition |sined=sin |fechaacceso=25 de julio de 2009}}")
-- Múltiples autores con abreviaciones y títulos honoríficos
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=enciclopedia|apellidos=Von Fritz |nombre=Kurt |apellidos2=Rev. Maurer |nombre2=Armand |apellidos3=Levi |nombre3=Albert W. |apellidos4=Stroll |nombre4=Avrum |apellidos5=Wolin |nombre5=Richard |título=Western philosophy |idioma=inglés |url= http://search.eb.com/eb/article-254701 |enciclopedia=Encyclopædia Britannica Online |fechaacceso=17 de junio de 2009 |páginas=81-84}}",
"{{obra citada|separador=. |apellidos=Von Fritz |nombre=Kurt |apellidos2=Rev. Maurer |nombre2=Armand |apellidos3=Levi |nombre3=Albert W. |apellidos4=Stroll |nombre4=Avrum |apellidos5=Wolin |nombre5=Richard |título=Western philosophy |idioma=inglés |url= http://search.eb.com/eb/article-254701 |enciclopedia=Encyclopædia Britannica Online |fechaacceso=17 de junio de 2009 |páginas=81-84}}")
-- ************ Errores *****************
-- Cita vacía
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita}}', '{{obra citada}}')
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=noticia|nombre = John|apellidos = Donovan|enlaceautor = http://www.attinnovationspace.com/author/fhstl-pm/|título = A Healthy Dose of Reality for 4G|url = http://www.attinnovationspace.com/2010/04/09/healthy-dose-of-reality-for-4g/|agencia = AT&T Innovation Space|editorial = AT&T|fecha = 9 de abril de 2010|fechaacceso = 21 de noviembre de 2010|idioma = inglés}}',
'{{obra citada|separador=.|nombre = John|apellidos = Donovan|enlaceautor = http://www.attinnovationspace.com/author/fhstl-pm/|título = A Healthy Dose of Reality for 4G|url = http://www.attinnovationspace.com/2010/04/09/healthy-dose-of-reality-for-4g/|agencia = AT&T Innovation Space|editorial = AT&T|fecha = 9 de abril de 2010|fechaacceso = 21 de noviembre de 2010|idioma = inglés}}')
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=vídeo|título= Tendría Veracruz una nueva estatua |url= http://web.archive.org/web/http://www.imagendelgolfo.com.mx/resumen.php?id=209218 |editorial=Agenciá Imagen del Golfo |ubicación=Veracruz |fecha=1 de noviembre de 2012 |fechaaccesso=10 de october de 2012}}',
'{{obra citada|separador=.|título= Tendría Veracruz una nueva estatua |url= http://web.archive.org/web/http://www.imagendelgolfo.com.mx/resumen.php?id=209218 |editorial=Agenciá Imagen del Golfo |ubicación=Veracruz |fecha=1 de noviembre de 2012 |fechaaccesso=10 de october de 2012}}')
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=vídeo|título=[[Live at Roseland: Elements of 4]]|persona=[[Beyoncé]]|año=2011|medio=[[DVD]] y [[Descarga de música|descarga digital]]|editorial=[[Columbia Records]]|localización=[[Nueva York]], [[Nueva York (estado)|Nueva York]]|fechaacceso=23 de febrero de 2013}}',
'{{obra citada|separador=.|título=[[Live at Roseland: Elements of 4]]|persona=[[Beyoncé]]|año=2011|medio=[[DVD]] y [[Descarga de música|descarga digital]]|editorial=[[Columbia Records]]|localización=[[Nueva York]], [[Nueva York (estado)|Nueva York]]|fechaacceso=23 de febrero de 2013}}')
----------------- Errores con los identificadores --------------------
-- ISBN acabado en "x"
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN acabado en "x"| isbn = 0 88254 165 x}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN acabado en "x"| isbn = 0 88254 165 X}}')
-- ISBN que comienza por "ISBN"
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN que comienza por "ISBN"| isbn = ISBN 0520055934}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN que comienza por "ISBN"| isbn = 0520055934}}')
-- ISBN de 10 al que se ha añadido 978
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN al que se ha añadido 978| isbn = 978-84-376-0929-1}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN al que se ha añadido 978| isbn = 84-376-0929-1}}')
-- ISBN de 13 al que se ha quitado 978
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN al que se ha quitado 978| isbn = 84-8317-365-7}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN al que se ha quitado 978| isbn = 978-84-8317-365-7}}')
-- ISBN de 10 al que se ha añadido 978
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN al que se ha añadido 978| isbn = 978-84-249-1978-5}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN al que se ha añadido 978| isbn = 84-249-1978-5}}')
-- ISBN10, ISBN13
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN10, ISBN13| isbn = 9004102744, 9789004102743}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN10, ISBN13| isbn = 9004102744, 9789004102743| isbn = 9789004102743}}')
-- ISBN13 y ISBN10
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN13 y ISBN10| isbn = 978-0-7432-9302-0 y 0-7432-9302-0}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN13 y ISBN10| isbn = 978-0-7432-9302-0}}')
-- ISBN13 ISBN10
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN13 ISBN10| isbn = 9788430948949 8430948945}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN13 ISBN10| isbn = 9788430948949}}')
-- ISBN.
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN acabado en punto| isbn = 0-7153-5734-4.}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN acabado en punto| isbn = 0-7153-5734-4}}')
-- 13 ISBN
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN que comienza por 13| isbn = 13 978-0-511-41399-5}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN que comienza por 13| isbn = 978-0-511-41399-5}}')
-- 13: ISBN
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN que comienza por 13:| isbn = 13: 9788432238406}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN que comienza por 13:| isbn = 9788432238406}}')
-- Guiones extraños
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN con guiones extraños| isbn = 968–16–7208–9}}',
'{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| título = ISBN con guiones extraños| isbn = 968-16-7208-9}}')
-- DOI incorrecto
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro| nombre = Jill| apellidos = Walker| enlaceautor = Jill Walker| título = "Piecing Together and Pulling Apart: Finding the Story in afternoon"| booktitle = Proceedings of the tenth ACM Conference on Hypertext and hypermedia : returning to our diverse roots| páginas = 111-117| fecha = 1999| ubicación = Darmstadt, Germany| url = http://huminf.uib.no/~jill/txt/afternoon.html| doi = http://doi.acm.org/10.1145/294469.294496}}',
'')
-- LCCN incorrecto
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellido = Cole | nombre = Hugh M. | enlaceautor= Hugh M. Cole | título = The Ardennes:Battle of the Bulge | editorial = [[Office of the Chief of Military History Department of the Army]] | url = http://www.history.army.mil/books/wwii/7-8/7-8_cont.htm | año = 1964 | lccn = 6560001}}',
'')
-------------- Errores porque falta un parámetro ---------------
-- Título traducido sin el título original
self:preprocess_equals('{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|apellidos = Dotan | nombre = M. | editor = Society for the Protection of Nature in Israel, Ashdod branch |título-trad = Asdod – Siete niveles de excavaciones | año = 1990|idioma= hebreo| páginas = p.91}}',
'')
-- urlarchivo sin url
self:preprocess_equals("{{#invoke:Zona de pruebas/Juan Mayordomo/Citas |cita|clasecita=libro|nombre= |apellidos= |autor=World Combined Sources |título=Iranian party demands end to repression |url= |formato= |agencia= |obra=People's Weekly World Newspaper |editorial= |id= |páginas= |página= |fecha=11 de septiembre de 2004 |fechaacceso=18 de febrero de 2012 |urlarchivo=http://web.archive.org/web/20090620033807/http://www.pww.org/article/view/5754/1/231/ |fechaarchivo=20 de junio de 2009 |idioma=inglés |cita= }}",
'')
end
return p