From 52ffb0a0e32ca8c4cae02874ce9d374f685a29fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esm=C3=A9=20Cowles?= Date: Fri, 21 Oct 2016 11:05:45 -0400 Subject: [PATCH] Updating Blacklight display logic for dates and languages to use display values instead of codes. --- app/controllers/catalog_controller.rb | 12 +- app/indexers/work_indexer.rb | 3 + app/models/solr_document.rb | 8 + app/services/language_service.rb | 5 +- config/authorities/iso639.yml | 1460 ------------------------ spec/features/catalog_spec.rb | 18 + spec/services/language_service_spec.rb | 5 + 7 files changed, 43 insertions(+), 1468 deletions(-) delete mode 100644 config/authorities/iso639.yml diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index 61f113471..ef0142ede 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -56,10 +56,14 @@ def self.search_config config.add_index_field solr_name('contributor', :stored_searchable) config.add_index_field solr_name('publisher', :stored_searchable) config.add_index_field solr_name('based_near', :stored_searchable) - config.add_index_field solr_name('language', :stored_searchable) + config.add_index_field solr_name('language', :stored_searchable) do |field| + field.accessor = :language_display + end config.add_index_field solr_name('date_uploaded', :stored_sortable) config.add_index_field solr_name('date_modified', :stored_sortable) - config.add_index_field solr_name('date_created', :stored_searchable) + config.add_index_field solr_name('date_created', :stored_searchable) do |field| + field.accessor = :date_created_display + end config.add_index_field solr_name('human_readable_type', :stored_searchable) config.add_index_field solr_name('format', :stored_searchable) config.add_index_field solr_name('identifier', :stored_searchable) @@ -242,8 +246,8 @@ def self.search_config # If there are more than this many search results, no spelling ("did you # mean") suggestion is offered. config.spell_max = 5 - config.index_presenter_class = RTLIndexPresenter - config.show_presenter_class = RTLShowPresenter + config.index.document_presenter_class = RTLIndexPresenter + config.show.document_presenter_class = RTLShowPresenter end def admin_state_facet return unless can? :create, ScannedResource diff --git a/app/indexers/work_indexer.rb b/app/indexers/work_indexer.rb index ed8d49384..8e1afb82c 100644 --- a/app/indexers/work_indexer.rb +++ b/app/indexers/work_indexer.rb @@ -24,6 +24,9 @@ def generate_solr_document solr_doc[Solrizer.solr_name("#{field}_literals", :symbol)] = output end solr_doc[Solrizer.solr_name("identifier", :symbol)] = object.identifier + solr_doc[Solrizer.solr_name("language", :facetable)] = object.language.map do |code| + LanguageService.label(code) + end end end end diff --git a/app/models/solr_document.rb b/app/models/solr_document.rb index 91e4d680d..b276f1a49 100644 --- a/app/models/solr_document.rb +++ b/app/models/solr_document.rb @@ -25,6 +25,10 @@ def date_created self[Solrizer.solr_name('date_created')] end + def date_created_display + DateValue.new(date_created).to_a + end + def state Array(self[Solrizer.solr_name("state")]).first end @@ -78,6 +82,10 @@ def language self[Solrizer.solr_name('language')] end + def language_display + (language || []).map { |code| LanguageService.label(code) } + end + def source_metadata_identifier self[Solrizer.solr_name('source_metadata_identifier')] end diff --git a/app/services/language_service.rb b/app/services/language_service.rb index 754b76653..e227e3ca5 100644 --- a/app/services/language_service.rb +++ b/app/services/language_service.rb @@ -1,8 +1,5 @@ module LanguageService - mattr_accessor :authority - self.authority = Qa::Authorities::Local.subauthority_for('iso639') - def self.label(id) - authority.find(id).fetch('term', id) + ISO_639.find_by_code(id).try(:english_name) || id end end diff --git a/config/authorities/iso639.yml b/config/authorities/iso639.yml deleted file mode 100644 index 81c998688..000000000 --- a/config/authorities/iso639.yml +++ /dev/null @@ -1,1460 +0,0 @@ -# derived from http://loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt -terms: - - id: aar - iso: aar - term: Afar - - id: abk - iso: abk - term: Abkhazian - - id: ace - iso: ace - term: Achinese - - id: ach - iso: ach - term: Acoli - - id: ada - iso: ada - term: Adangme - - id: ady - iso: ady - term: Adyghe; Adygei - - id: afa - iso: afa - term: Afro-Asiatic languages - - id: afh - iso: afh - term: Afrihili - - id: afr - iso: afr - term: Afrikaans - - id: ain - iso: ain - term: Ainu - - id: aka - iso: aka - term: Akan - - id: akk - iso: akk - term: Akkadian - - id: alb - iso: sqi - term: Albanian - - id: ale - iso: ale - term: Aleut - - id: alg - iso: alg - term: Algonquian languages - - id: alt - iso: alt - term: Southern Altai - - id: amh - iso: amh - term: Amharic - - id: ang - iso: ang - term: English, Old (ca.450-1100) - - id: anp - iso: anp - term: Angika - - id: apa - iso: apa - term: Apache languages - - id: ara - iso: ara - term: Arabic - - id: arc - iso: arc - term: Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE) - - id: arg - iso: arg - term: Aragonese - - id: arm - iso: hye - term: Armenian - - id: arn - iso: arn - term: Mapudungun; Mapuche - - id: arp - iso: arp - term: Arapaho - - id: art - iso: art - term: Artificial languages - - id: arw - iso: arw - term: Arawak - - id: asm - iso: asm - term: Assamese - - id: ast - iso: ast - term: Asturian; Bable; Leonese; Asturleonese - - id: ath - iso: ath - term: Athapascan languages - - id: aus - iso: aus - term: Australian languages - - id: ava - iso: ava - term: Avaric - - id: ave - iso: ave - term: Avestan - - id: awa - iso: awa - term: Awadhi - - id: aym - iso: aym - term: Aymara - - id: aze - iso: aze - term: Azerbaijani - - id: bad - iso: bad - term: Banda languages - - id: bai - iso: bai - term: Bamileke languages - - id: bak - iso: bak - term: Bashkir - - id: bal - iso: bal - term: Baluchi - - id: bam - iso: bam - term: Bambara - - id: ban - iso: ban - term: Balinese - - id: baq - iso: eus - term: Basque - - id: bas - iso: bas - term: Basa - - id: bat - iso: bat - term: Baltic languages - - id: bej - iso: bej - term: Beja; Bedawiyet - - id: bel - iso: bel - term: Belarusian - - id: bem - iso: bem - term: Bemba - - id: ben - iso: ben - term: Bengali - - id: ber - iso: ber - term: Berber languages - - id: bho - iso: bho - term: Bhojpuri - - id: bih - iso: bih - term: Bihari languages - - id: bik - iso: bik - term: Bikol - - id: bin - iso: bin - term: Bini; Edo - - id: bis - iso: bis - term: Bislama - - id: bla - iso: bla - term: Siksika - - id: bnt - iso: bnt - term: Bantu (Other) - - id: bos - iso: bos - term: Bosnian - - id: bra - iso: bra - term: Braj - - id: bre - iso: bre - term: Breton - - id: btk - iso: btk - term: Batak languages - - id: bua - iso: bua - term: Buriat - - id: bug - iso: bug - term: Buginese - - id: bul - iso: bul - term: Bulgarian - - id: bur - iso: mya - term: Burmese - - id: byn - iso: byn - term: Blin; Bilin - - id: cad - iso: cad - term: Caddo - - id: cai - iso: cai - term: Central American Indian languages - - id: car - iso: car - term: Galibi Carib - - id: cat - iso: cat - term: Catalan; Valencian - - id: cau - iso: cau - term: Caucasian languages - - id: ceb - iso: ceb - term: Cebuano - - id: cel - iso: cel - term: Celtic languages - - id: cha - iso: cha - term: Chamorro - - id: chb - iso: chb - term: Chibcha - - id: che - iso: che - term: Chechen - - id: chg - iso: chg - term: Chagatai - - id: chi - iso: zho - term: Chinese - - id: chk - iso: chk - term: Chuukese - - id: chm - iso: chm - term: Mari - - id: chn - iso: chn - term: Chinook jargon - - id: cho - iso: cho - term: Choctaw - - id: chp - iso: chp - term: Chipewyan; Dene Suline - - id: chr - iso: chr - term: Cherokee - - id: chu - iso: chu - term: Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic - - id: chv - iso: chv - term: Chuvash - - id: chy - iso: chy - term: Cheyenne - - id: cmc - iso: cmc - term: Chamic languages - - id: cop - iso: cop - term: Coptic - - id: cor - iso: cor - term: Cornish - - id: cos - iso: cos - term: Corsican - - id: cpe - iso: cpe - term: Creoles and pidgins, English based - - id: cpf - iso: cpf - term: Creoles and pidgins, French-based - - id: cpp - iso: cpp - term: Creoles and pidgins, Portuguese-based - - id: cre - iso: cre - term: Cree - - id: crh - iso: crh - term: Crimean Tatar; Crimean Turkish - - id: crp - iso: crp - term: Creoles and pidgins - - id: csb - iso: csb - term: Kashubian - - id: cus - iso: cus - term: Cushitic languages - - id: cze - iso: ces - term: Czech - - id: dak - iso: dak - term: Dakota - - id: dan - iso: dan - term: Danish - - id: dar - iso: dar - term: Dargwa - - id: day - iso: day - term: Land Dayak languages - - id: del - iso: del - term: Delaware - - id: den - iso: den - term: Slave (Athapascan) - - id: dgr - iso: dgr - term: Dogrib - - id: din - iso: din - term: Dinka - - id: div - iso: div - term: Divehi; Dhivehi; Maldivian - - id: doi - iso: doi - term: Dogri - - id: dra - iso: dra - term: Dravidian languages - - id: dsb - iso: dsb - term: Lower Sorbian - - id: dua - iso: dua - term: Duala - - id: dum - iso: dum - term: Dutch, Middle (ca.1050-1350) - - id: dut - iso: nld - term: Dutch; Flemish - - id: dyu - iso: dyu - term: Dyula - - id: dzo - iso: dzo - term: Dzongkha - - id: efi - iso: efi - term: Efik - - id: egy - iso: egy - term: Egyptian (Ancient) - - id: eka - iso: eka - term: Ekajuk - - id: elx - iso: elx - term: Elamite - - id: eng - iso: eng - term: English - - id: enm - iso: enm - term: English, Middle (1100-1500) - - id: epo - iso: epo - term: Esperanto - - id: est - iso: est - term: Estonian - - id: ewe - iso: ewe - term: Ewe - - id: ewo - iso: ewo - term: Ewondo - - id: fan - iso: fan - term: Fang - - id: fao - iso: fao - term: Faroese - - id: fat - iso: fat - term: Fanti - - id: fij - iso: fij - term: Fijian - - id: fil - iso: fil - term: Filipino; Pilipino - - id: fin - iso: fin - term: Finnish - - id: fiu - iso: fiu - term: Finno-Ugrian languages - - id: fon - iso: fon - term: Fon - - id: fre - iso: fra - term: French - - id: frm - iso: frm - term: French, Middle (ca.1400-1600) - - id: fro - iso: fro - term: French, Old (842-ca.1400) - - id: frr - iso: frr - term: Northern Frisian - - id: frs - iso: frs - term: Eastern Frisian - - id: fry - iso: fry - term: Western Frisian - - id: ful - iso: ful - term: Fulah - - id: fur - iso: fur - term: Friulian - - id: gaa - iso: gaa - term: Ga - - id: gay - iso: gay - term: Gayo - - id: gba - iso: gba - term: Gbaya - - id: gem - iso: gem - term: Germanic languages - - id: geo - iso: kat - term: Georgian - - id: ger - iso: deu - term: German - - id: gez - iso: gez - term: Geez - - id: gil - iso: gil - term: Gilbertese - - id: gla - iso: gla - term: Gaelic; Scottish Gaelic - - id: gle - iso: gle - term: Irish - - id: glg - iso: glg - term: Galician - - id: glv - iso: glv - term: Manx - - id: gmh - iso: gmh - term: German, Middle High (ca.1050-1500) - - id: goh - iso: goh - term: German, Old High (ca.750-1050) - - id: gon - iso: gon - term: Gondi - - id: gor - iso: gor - term: Gorontalo - - id: got - iso: got - term: Gothic - - id: grb - iso: grb - term: Grebo - - id: grc - iso: grc - term: Greek, Ancient (to 1453) - - id: gre - iso: ell - term: Greek, Modern (1453-) - - id: grn - iso: grn - term: Guarani - - id: gsw - iso: gsw - term: Swiss German; Alemannic; Alsatian - - id: guj - iso: guj - term: Gujarati - - id: gwi - iso: gwi - term: Gwich'in - - id: hai - iso: hai - term: Haida - - id: hat - iso: hat - term: Haitian; Haitian Creole - - id: hau - iso: hau - term: Hausa - - id: haw - iso: haw - term: Hawaiian - - id: heb - iso: heb - term: Hebrew - - id: her - iso: her - term: Herero - - id: hil - iso: hil - term: Hiligaynon - - id: him - iso: him - term: Himachali languages; Western Pahari languages - - id: hin - iso: hin - term: Hindi - - id: hit - iso: hit - term: Hittite - - id: hmn - iso: hmn - term: Hmong; Mong - - id: hmo - iso: hmo - term: Hiri Motu - - id: hrv - iso: hrv - term: Croatian - - id: hsb - iso: hsb - term: Upper Sorbian - - id: hun - iso: hun - term: Hungarian - - id: hup - iso: hup - term: Hupa - - id: iba - iso: iba - term: Iban - - id: ibo - iso: ibo - term: Igbo - - id: ice - iso: isl - term: Icelandic - - id: ido - iso: ido - term: Ido - - id: iii - iso: iii - term: Sichuan Yi; Nuosu - - id: ijo - iso: ijo - term: Ijo languages - - id: iku - iso: iku - term: Inuktitut - - id: ile - iso: ile - term: Interlingue; Occidental - - id: ilo - iso: ilo - term: Iloko - - id: ina - iso: ina - term: Interlingua (International Auxiliary Language Association) - - id: inc - iso: inc - term: Indic languages - - id: ind - iso: ind - term: Indonesian - - id: ine - iso: ine - term: Indo-European languages - - id: inh - iso: inh - term: Ingush - - id: ipk - iso: ipk - term: Inupiaq - - id: ira - iso: ira - term: Iranian languages - - id: iro - iso: iro - term: Iroquoian languages - - id: ita - iso: ita - term: Italian - - id: jav - iso: jav - term: Javanese - - id: jbo - iso: jbo - term: Lojban - - id: jpn - iso: jpn - term: Japanese - - id: jpr - iso: jpr - term: Judeo-Persian - - id: jrb - iso: jrb - term: Judeo-Arabic - - id: kaa - iso: kaa - term: Kara-Kalpak - - id: kab - iso: kab - term: Kabyle - - id: kac - iso: kac - term: Kachin; Jingpho - - id: kal - iso: kal - term: Kalaallisut; Greenlandic - - id: kam - iso: kam - term: Kamba - - id: kan - iso: kan - term: Kannada - - id: kar - iso: kar - term: Karen languages - - id: kas - iso: kas - term: Kashmiri - - id: kau - iso: kau - term: Kanuri - - id: kaw - iso: kaw - term: Kawi - - id: kaz - iso: kaz - term: Kazakh - - id: kbd - iso: kbd - term: Kabardian - - id: kha - iso: kha - term: Khasi - - id: khi - iso: khi - term: Khoisan languages - - id: khm - iso: khm - term: Central Khmer - - id: kho - iso: kho - term: Khotanese; Sakan - - id: kik - iso: kik - term: Kikuyu; Gikuyu - - id: kin - iso: kin - term: Kinyarwanda - - id: kir - iso: kir - term: Kirghiz; Kyrgyz - - id: kmb - iso: kmb - term: Kimbundu - - id: kok - iso: kok - term: Konkani - - id: kom - iso: kom - term: Komi - - id: kon - iso: kon - term: Kongo - - id: kor - iso: kor - term: Korean - - id: kos - iso: kos - term: Kosraean - - id: kpe - iso: kpe - term: Kpelle - - id: krc - iso: krc - term: Karachay-Balkar - - id: krl - iso: krl - term: Karelian - - id: kro - iso: kro - term: Kru languages - - id: kru - iso: kru - term: Kurukh - - id: kua - iso: kua - term: Kuanyama; Kwanyama - - id: kum - iso: kum - term: Kumyk - - id: kur - iso: kur - term: Kurdish - - id: kut - iso: kut - term: Kutenai - - id: lad - iso: lad - term: Ladino - - id: lah - iso: lah - term: Lahnda - - id: lam - iso: lam - term: Lamba - - id: lao - iso: lao - term: Lao - - id: lat - iso: lat - term: Latin - - id: lav - iso: lav - term: Latvian - - id: lez - iso: lez - term: Lezghian - - id: lim - iso: lim - term: Limburgan; Limburger; Limburgish - - id: lin - iso: lin - term: Lingala - - id: lit - iso: lit - term: Lithuanian - - id: lol - iso: lol - term: Mongo - - id: loz - iso: loz - term: Lozi - - id: ltz - iso: ltz - term: Luxembourgish; Letzeburgesch - - id: lua - iso: lua - term: Luba-Lulua - - id: lub - iso: lub - term: Luba-Katanga - - id: lug - iso: lug - term: Ganda - - id: lui - iso: lui - term: Luiseno - - id: lun - iso: lun - term: Lunda - - id: luo - iso: luo - term: Luo (Kenya and Tanzania) - - id: lus - iso: lus - term: Lushai - - id: mac - iso: mkd - term: Macedonian - - id: mad - iso: mad - term: Madurese - - id: mag - iso: mag - term: Magahi - - id: mah - iso: mah - term: Marshallese - - id: mai - iso: mai - term: Maithili - - id: mak - iso: mak - term: Makasar - - id: mal - iso: mal - term: Malayalam - - id: man - iso: man - term: Mandingo - - id: mao - iso: mri - term: Maori - - id: map - iso: map - term: Austronesian languages - - id: mar - iso: mar - term: Marathi - - id: mas - iso: mas - term: Masai - - id: may - iso: msa - term: Malay - - id: mdf - iso: mdf - term: Moksha - - id: mdr - iso: mdr - term: Mandar - - id: men - iso: men - term: Mende - - id: mga - iso: mga - term: Irish, Middle (900-1200) - - id: mic - iso: mic - term: Mi'kmaq; Micmac - - id: min - iso: min - term: Minangkabau - - id: mis - iso: mis - term: Uncoded languages - - id: mkh - iso: mkh - term: Mon-Khmer languages - - id: mlg - iso: mlg - term: Malagasy - - id: mlt - iso: mlt - term: Maltese - - id: mnc - iso: mnc - term: Manchu - - id: mni - iso: mni - term: Manipuri - - id: mno - iso: mno - term: Manobo languages - - id: moh - iso: moh - term: Mohawk - - id: mon - iso: mon - term: Mongolian - - id: mos - iso: mos - term: Mossi - - id: mul - iso: mul - term: Multiple languages - - id: mun - iso: mun - term: Munda languages - - id: mus - iso: mus - term: Creek - - id: mwl - iso: mwl - term: Mirandese - - id: mwr - iso: mwr - term: Marwari - - id: myn - iso: myn - term: Mayan languages - - id: myv - iso: myv - term: Erzya - - id: nah - iso: nah - term: Nahuatl languages - - id: nai - iso: nai - term: North American Indian languages - - id: nap - iso: nap - term: Neapolitan - - id: nau - iso: nau - term: Nauru - - id: nav - iso: nav - term: Navajo; Navaho - - id: nbl - iso: nbl - term: Ndebele, South; South Ndebele - - id: nde - iso: nde - term: Ndebele, North; North Ndebele - - id: ndo - iso: ndo - term: Ndonga - - id: nds - iso: nds - term: Low German; Low Saxon; German, Low; Saxon, Low - - id: nep - iso: nep - term: Nepali - - id: new - iso: new - term: Nepal Bhasa; Newari - - id: nia - iso: nia - term: Nias - - id: nic - iso: nic - term: Niger-Kordofanian languages - - id: niu - iso: niu - term: Niuean - - id: nno - iso: nno - term: Norwegian Nynorsk; Nynorsk, Norwegian - - id: nob - iso: nob - term: Bokmål, Norwegian; Norwegian Bokmål - - id: nog - iso: nog - term: Nogai - - id: non - iso: non - term: Norse, Old - - id: nor - iso: nor - term: Norwegian - - id: nqo - iso: nqo - term: N'Ko - - id: nso - iso: nso - term: Pedi; Sepedi; Northern Sotho - - id: nub - iso: nub - term: Nubian languages - - id: nwc - iso: nwc - term: Classical Newari; Old Newari; Classical Nepal Bhasa - - id: nya - iso: nya - term: Chichewa; Chewa; Nyanja - - id: nym - iso: nym - term: Nyamwezi - - id: nyn - iso: nyn - term: Nyankole - - id: nyo - iso: nyo - term: Nyoro - - id: nzi - iso: nzi - term: Nzima - - id: oci - iso: oci - term: Occitan (post 1500); Provençal - - id: oji - iso: oji - term: Ojibwa - - id: ori - iso: ori - term: Oriya - - id: orm - iso: orm - term: Oromo - - id: osa - iso: osa - term: Osage - - id: oss - iso: oss - term: Ossetian; Ossetic - - id: ota - iso: ota - term: Turkish, Ottoman (1500-1928) - - id: oto - iso: oto - term: Otomian languages - - id: paa - iso: paa - term: Papuan languages - - id: pag - iso: pag - term: Pangasinan - - id: pal - iso: pal - term: Pahlavi - - id: pam - iso: pam - term: Pampanga; Kapampangan - - id: pan - iso: pan - term: Panjabi; Punjabi - - id: pap - iso: pap - term: Papiamento - - id: pau - iso: pau - term: Palauan - - id: peo - iso: peo - term: Persian, Old (ca.600-400 B.C.) - - id: per - iso: fas - term: Persian - - id: phi - iso: phi - term: Philippine languages - - id: phn - iso: phn - term: Phoenician - - id: pli - iso: pli - term: Pali - - id: pol - iso: pol - term: Polish - - id: pon - iso: pon - term: Pohnpeian - - id: por - iso: por - term: Portuguese - - id: pra - iso: pra - term: Prakrit languages - - id: pro - iso: pro - term: Provençal, Old (to 1500) - - id: pus - iso: pus - term: Pushto; Pashto - - id: qaa-qtz - iso: qaa-qtz - term: Reserved for local use - - id: que - iso: que - term: Quechua - - id: raj - iso: raj - term: Rajasthani - - id: rap - iso: rap - term: Rapanui - - id: rar - iso: rar - term: Rarotongan; Cook Islands Maori - - id: roa - iso: roa - term: Romance languages - - id: roh - iso: roh - term: Romansh - - id: rom - iso: rom - term: Romany - - id: rum - iso: ron - term: Romanian; Moldavian; Moldovan - - id: run - iso: run - term: Rundi - - id: rup - iso: rup - term: Aromanian; Arumanian; Macedo-Romanian - - id: rus - iso: rus - term: Russian - - id: sad - iso: sad - term: Sandawe - - id: sag - iso: sag - term: Sango - - id: sah - iso: sah - term: Yakut - - id: sai - iso: sai - term: South American Indian (Other) - - id: sal - iso: sal - term: Salishan languages - - id: sam - iso: sam - term: Samaritan Aramaic - - id: san - iso: san - term: Sanskrit - - id: sas - iso: sas - term: Sasak - - id: sat - iso: sat - term: Santali - - id: scn - iso: scn - term: Sicilian - - id: sco - iso: sco - term: Scots - - id: sel - iso: sel - term: Selkup - - id: sem - iso: sem - term: Semitic languages - - id: sga - iso: sga - term: Irish, Old (to 900) - - id: sgn - iso: sgn - term: Sign Languages - - id: shn - iso: shn - term: Shan - - id: sid - iso: sid - term: Sidamo - - id: sin - iso: sin - term: Sinhala; Sinhalese - - id: sio - iso: sio - term: Siouan languages - - id: sit - iso: sit - term: Sino-Tibetan languages - - id: sla - iso: sla - term: Slavic languages - - id: slo - iso: slk - term: Slovak - - id: slv - iso: slv - term: Slovenian - - id: sma - iso: sma - term: Southern Sami - - id: sme - iso: sme - term: Northern Sami - - id: smi - iso: smi - term: Sami languages - - id: smj - iso: smj - term: Lule Sami - - id: smn - iso: smn - term: Inari Sami - - id: smo - iso: smo - term: Samoan - - id: sms - iso: sms - term: Skolt Sami - - id: sna - iso: sna - term: Shona - - id: snd - iso: snd - term: Sindhi - - id: snk - iso: snk - term: Soninke - - id: sog - iso: sog - term: Sogdian - - id: som - iso: som - term: Somali - - id: son - iso: son - term: Songhai languages - - id: sot - iso: sot - term: Sotho, Southern - - id: spa - iso: spa - term: Spanish; Castilian - - id: srd - iso: srd - term: Sardinian - - id: srn - iso: srn - term: Sranan Tongo - - id: srp - iso: srp - term: Serbian - - id: srr - iso: srr - term: Serer - - id: ssa - iso: ssa - term: Nilo-Saharan languages - - id: ssw - iso: ssw - term: Swati - - id: suk - iso: suk - term: Sukuma - - id: sun - iso: sun - term: Sundanese - - id: sus - iso: sus - term: Susu - - id: sux - iso: sux - term: Sumerian - - id: swa - iso: swa - term: Swahili - - id: swe - iso: swe - term: Swedish - - id: syc - iso: syc - term: Classical Syriac - - id: syr - iso: syr - term: Syriac - - id: tah - iso: tah - term: Tahitian - - id: tai - iso: tai - term: Tai languages - - id: tam - iso: tam - term: Tamil - - id: tat - iso: tat - term: Tatar - - id: tel - iso: tel - term: Telugu - - id: tem - iso: tem - term: Timne - - id: ter - iso: ter - term: Tereno - - id: tet - iso: tet - term: Tetum - - id: tgk - iso: tgk - term: Tajik - - id: tgl - iso: tgl - term: Tagalog - - id: tha - iso: tha - term: Thai - - id: tib - iso: bod - term: Tibetan - - id: tig - iso: tig - term: Tigre - - id: tir - iso: tir - term: Tigrinya - - id: tiv - iso: tiv - term: Tiv - - id: tkl - iso: tkl - term: Tokelau - - id: tlh - iso: tlh - term: Klingon; tlhIngan-Hol - - id: tli - iso: tli - term: Tlingit - - id: tmh - iso: tmh - term: Tamashek - - id: tog - iso: tog - term: Tonga (Nyasa) - - id: ton - iso: ton - term: Tonga (Tonga Islands) - - id: tpi - iso: tpi - term: Tok Pisin - - id: tsi - iso: tsi - term: Tsimshian - - id: tsn - iso: tsn - term: Tswana - - id: tso - iso: tso - term: Tsonga - - id: tuk - iso: tuk - term: Turkmen - - id: tum - iso: tum - term: Tumbuka - - id: tup - iso: tup - term: Tupi languages - - id: tur - iso: tur - term: Turkish - - id: tut - iso: tut - term: Altaic languages - - id: tvl - iso: tvl - term: Tuvalu - - id: twi - iso: twi - term: Twi - - id: tyv - iso: tyv - term: Tuvinian - - id: udm - iso: udm - term: Udmurt - - id: uga - iso: uga - term: Ugaritic - - id: uig - iso: uig - term: Uighur; Uyghur - - id: ukr - iso: ukr - term: Ukrainian - - id: umb - iso: umb - term: Umbundu - - id: und - iso: und - term: Undetermined - - id: urd - iso: urd - term: Urdu - - id: uzb - iso: uzb - term: Uzbek - - id: vai - iso: vai - term: Vai - - id: ven - iso: ven - term: Venda - - id: vie - iso: vie - term: Vietnamese - - id: vol - iso: vol - term: Volapük - - id: vot - iso: vot - term: Votic - - id: wak - iso: wak - term: Wakashan languages - - id: wal - iso: wal - term: Walamo - - id: war - iso: war - term: Waray - - id: was - iso: was - term: Washo - - id: wel - iso: cym - term: Welsh - - id: wen - iso: wen - term: Sorbian languages - - id: wln - iso: wln - term: Walloon - - id: wol - iso: wol - term: Wolof - - id: xal - iso: xal - term: Kalmyk; Oirat - - id: xho - iso: xho - term: Xhosa - - id: yao - iso: yao - term: Yao - - id: yap - iso: yap - term: Yapese - - id: yid - iso: yid - term: Yiddish - - id: yor - iso: yor - term: Yoruba - - id: ypk - iso: ypk - term: Yupik languages - - id: zap - iso: zap - term: Zapotec - - id: zbl - iso: zbl - term: Blissymbols; Blissymbolics; Bliss - - id: zen - iso: zen - term: Zenaga - - id: zgh - iso: zgh - term: Standard Moroccan Tamazight - - id: zha - iso: zha - term: Zhuang; Chuang - - id: znd - iso: znd - term: Zande languages - - id: zul - iso: zul - term: Zulu - - id: zun - iso: zun - term: Zuni - - id: zxx - iso: zxx - term: No linguistic content; Not applicable - - id: zza - iso: zza - term: Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki diff --git a/spec/features/catalog_spec.rb b/spec/features/catalog_spec.rb index 0db8c420a..c14c80723 100644 --- a/spec/features/catalog_spec.rb +++ b/spec/features/catalog_spec.rb @@ -49,4 +49,22 @@ expect(page).not_to have_selector "div.blacklight-state_sim", text: "State" end end + + describe "language and date formatting" do + let(:user) { FactoryGirl.create(:admin) } + let(:scanned_resource) { FactoryGirl.create(:scanned_resource, user: user, language: ['deu'], date_created: ['1941-10-23T00:00:00Z']) } + + before(:each) do + sign_in user + scanned_resource.update_index + end + + scenario "formatted versions are displayed" do + visit search_catalog_path q: "" + expect(page).to have_text 'German' + expect(page).to_not have_text 'deu' + expect(page).to have_text '10/23/1941' + expect(page).to_not have_text '1941-10-23' + end + end end diff --git a/spec/services/language_service_spec.rb b/spec/services/language_service_spec.rb index de638553d..d5653463f 100644 --- a/spec/services/language_service_spec.rb +++ b/spec/services/language_service_spec.rb @@ -7,6 +7,11 @@ expect(described_class.label("aar")).to eq "Afar" end end + context "when the code is an iso code that's different from the loc code" do + it "finds the label" do + expect(described_class.label("deu")).to eq "German" + end + end context "when the label doesn't exist" do it "returns the label passed to it" do expect(described_class.label("zzz")).to eq "zzz"