#!/usr/bin/perl -w

use strict;
use warnings;

use Lingua::DE::ASCII;
use Test::More tests => 1;

use strict;
use warnings;
use diagnostics;

my $non_ascii_chars = join("", map {chr} (128..255));

while (<DATA>) {
    chomp;
    print STDERR "." if ($. % 5_000) == 1;
    my $ascii_text = to_ascii($_);  
    my $iso_text = to_latin1($ascii_text);
    $ascii_text !~ /[$non_ascii_chars]/o or diag("$_ => $ascii_text"),fail,last;
    $iso_text eq $_                      or diag("$_ => $ascii_text => $iso_text"),fail,last;
}

ok("Foreign words (and symbols) could be translated without errors");

1;

__DATA__
Académie française
Acheuléen
Acheuléens
Adrema®
Agfacolor®
Agfa®
Agrément
Agréments
Airbus®
Alcantara®
Alençon
Alençons
Alpacca®
Amphiole®
Ancien Régime
Ancien Régimes
André
Andrés
Angostura®
Aperçu
Aperçus
Après-Ski
Après-Ski-Kleidung
Après-Ski-Kleidungen
Apéro
Apéros
Aragón
Aragóns
Art déco
Aspirin®
Associé
Associés
Asunción
Asuncións
Attaché
Attachée
Attachéen
Attachés
Audi®
BMW®
Bakelit®
Balparé
Balparés
Bartók
Bartókes
Bartóks
Baumégrad
Baumégrads
Beauté
Beautés
Belle Époque
Birkenstocksandale®
Bjørnson
Bjørnsons
Bogotá
Bogotás
Bokmål
Bokmåls
Bostitch®
Bouclé
Bouclés
Bourrée
Bourrées
Bruyèreholz
Bruyèreholzes
Bruyèrepfeife
Bruyèrepfeifen
Bulldog®
Buna®
Bébé
Bébés
Béchamelkartoffel
Béchamelkartoffeln
Béchamelsauce
Béchamelsoße
Béret
Bérets
Cadillac®
Café
Café complet
Café crème
Cafés
Cafés complets
Cafés crème
Calderón
Calderóns
Callanetics®
Campari®
Camões
Canapé
Canapés
Carborundum®
Castor®
Cause célèbre
Causes célèbres
Cellophane®
Cellophanpapier®
Cellophan®
Centésimo
Centésimos
Chambre séparée
Chambres séparées
Champs-Élysées
Chansonnière
Chansonnièren
Charité
Charités
Chartreuse®
Cheminée
Cheminées
Chicorée
Chicoréen
Chicorées
Château
Châteaus
Cigány
Cigánys
Cinecittà
Cinemascope®
Cinerama®
Cliché
Clichés
Clipper®
Cloisonné
Cloisonnés
Cloqué
Cloqués
Coca-Cola®
Cognac®
Coke®
Collico®
Colt®
Commedia dell´Arte
Communiqué
Communiqués
Comprette®
Consommé
Consommés
Cortina d´Ampezzo
Coup d´Etat
Coups d´Etat
Coupé
Coupés
Craquelé
Craquelés
Croisé
Croisés
Cromargan®
Crème fraîche
Crèmes fraîches
Crêpe
Crêpe Georgette
Crêpe Satin
Crêpe Suzette
Crêpe de Chine
Crêpe marocain
Crêpes
Crêpes Georgette
Crêpes Georgetten
Crêpes Satin
Crêpes Suzette
Crêpes de Chine
Crêpes marocain
Csikós
Csárdás
Curé
Curés
Cádiz
Céntimo
Céntimos
Cézanne
Cézannes
Córdoba
Córdobas
DAX®
DDT®
DIN®
Dauphiné
Dekolleté
Dekolletés
Deux-Pièces
Deuxpièces
Diolen®
Dolby-System®
Dralon®
Drapé
Drapés
Duralumin®
Dvorák
Dvoráks
Déjà-vu-Erlebnis
Déjà-vu-Erlebnisse
Déjà-vu-Erlebnissen
Déjà-vu-Erlebnisses
Détente
Détentepolitik
EC®
Eiscafé
Eiscafés
Ekarté
Ekartées
Ekartés
El Niño
El Niños
Elektron®
Eloxal®
Eloxal®s®
Epinglé
Epinglés
Eternit®
Eurocity®
Everglaze®
Exposé
Exposés
Fauré
Faurés
Ferrari®
Fiat®
Fillér
Fillérn
Fillérs
Filtertüte®
Fin de Siècle
Folies-Bergère
Folies-Bergèren
Ford®
Formalin®
Fouché
Fouchés
Fouqué
Fouqués
Français fondamental
Français élémentaire
Française
Françaisen
Fraternité
Fraternités
Frauencafé
Frauencafés
Frigidaire®
Frisbee®
Friséesalat
Friséesalate
Friséesalaten
Friséesalates
Froissé
Froissés
Frotté
Frottés
Fumé
Fumés
Fön®
Gameboy®
Garçon
Garçonne
Garçonnen
Garçonnière
Garçonnièren
Garçons
Gemèchte
Gemèchtem
Gemèchten
Gemèchter
Gemèchtes
Genève
Genèves
Geodreieck®
Gervaise®
Gervaise®n®
Gervais®
Glacé
Glacéhandschuh
Glacéhandschuhe
Glacéhandschuhen
Glacéhandschuhes
Glacéleder
Glacéleders
Glacés
Glysantin®
Godemiché
Godemichés
Godthåb
Godthåbs
Goldlamé
Goldlamés
Grammophon®
Gruyère
Gruyères
Grège
Grègeseide
Guinness®
Gulyás
Guttiole®
Habitué
Habitués
Halér
Halérs
Hansaplast®
Helanca®
Helanca®s
Horváth
Horváths
Hácek
Háceks
ICE®
IC®
IMAX®
IR®
Inbus®
Indanthren®
Indiaca®
Insulin®
Intercityexpresszug®
Intercity®
Internetcafé
Internetcafés
Interrailticket®
Interregio®
Jacuzzis®
Jacuzzi®
Java®
Jeep®
Jenaer Glas®
Jeunesse dorée
Jupiterlampen®
Jupiterlampe®
Jérôme
Jérômes
Kettcar®
Klepper®
Knirps®
Knorr-Bremsen®
Knorr-Bremse®
Kodak®
Kodály
Kodálys
Kommuniqué
Kommuniqués
Kulturattaché
Kulturattachés
Kálmán
Kálmáns
Landrover®
Leica®
Leukoplast®
Leuna®
Liberté, Égalité, Fraternité
Liebfrauenmilch®
Liebig®
Linné
Linnés
Linotype®
Lomé
Lomés
Lurex®
Lysol®
Maggi®
Maggi®s
Magnetophon®
Makoré
Makorés
Mallarmé
Mallarmés
Marineattaché
Marineattachés
Martin-Horn®
Marées
Maître de Plaisir
Maître de Plaisirs
Melissengeist®
Memory®
Mercedes-Benz®
Metaxa®
Mifegyne®
Militärattaché
Militärattachés
Molière
Moltopren®
Monopoly®
Monotype®
Mouliné
Moulinés
Moustérien
Moustériens
Málaga
Málagas
Mèche
Mèchen
Mèchende
Mèchendem
Mèchenden
Mèchender
Mèchendes
Mèchens
Mérimée
Münster (Westf.)
Napalm®
Negligé
Negligés
Neopren®
Nirosta®
Nouveauté
Nouveautés
Nylon®
Négritude
Opel®
Ottomotor®
Ozalid®
Panaché
Panachés
Pappmaché
Pappmachés
Parabellum®
Paraná
Paranás
Pathétique
Pendolino®
Pentium®
Perlon®
Pernod®
Playstation®
Plexiglas®
Porsche®
Pour le Mérite
Pour le Mériten
Précis
Punktalglas®
Ratiné
Ratinés
Rayé
Rayés
Regenhaut®
Renault®
Renforcé
Renforcés
René
Resopal®
Rexapparat®
Rexglas®
Rigipsplatte®
Riksmål
Riksmåls
Rollerblade®
Rolls-Royce®
Rotaprint®
Saint-Exupéry
Saint-Exupérys
Saint-Saëns
Salvator®
San José
San Josés
San-José-Schildlaus
San-José-Schildläuse
San-José-Schildläusen
Sangrita®
Sauce bérnaise
Saône
Schuko®
Schwedenbombe®
Scrabble®
Segerkegel®
Sekurit®
Señor
Señora
Señoras
Señores
Señorita
Señoritas
Señors
Showview®
Siemens®
Simmering®
Sommelière
Soufflé
Soufflés
Sportcoupé
Sportcoupés
Staël
Steadicam®
Strandcafé
Strandcafés
Straßencafé
Straßencafés
Styropor®
Suárez
São
São Tomé
São Tomés
Séance
Séancen
Sérac
Séracs
Sévres
Sévresporzellan
Sévresporzellans
Tabasco®
Tanzcafé
Tanzcafés
Teflon®
Teletubbies®
Tesafilm®
Tetralin®
Thermit®
Thermopane®
Thermosflasche®
Tipp-Ex®
Transrapid®
Trevira®
Tromsø
Tromsøs
Trouvère
Trouvères
Tønder
Tønders
Ufa®
VW®
Varieté
Varietés
Vespa®
Viagra®
Vlieseline®
Volkswagen®
Walkman®
Wankel®
Weckapparat®
Weckglas®
Welliné
Wellinés
Wellinéss
Westinghousebremse®
Whirlpool®
Ytong®
Yucatán
Yucatáns
Zipp®
dm²
dm³
gemècht
gemèchte
gemèchtem
gemèchten
gemèchter
gemèchtes
km²
km³
lamé
linnésch
linnésche
linnéschem
linnéschen
linnéscher
linnésches
mm²
mm³
m²
m³
mèche
mèchen
mèchend
mèchende
mèchendem
mèchenden
mèchender
mèchendes
mèchest
mèchet
mèchst
mècht
mèchte
mèchten
mèchtest
mèchtet
métallisé
oh, là, là
olé
peu à peu
sans gêne
skål
tête-à-tête
töff, töff
voilà
©
®
Ålandinseln
Ångström
Égalité
à condition
à deux mains
à discrétion
à fonds perdu
à gogo
à jour
à la
à la baisse
à la bonne heure
à la carte
à la hausse
à la longue
à la mode
