use strict;
require 5.008;
use Test::More tests => 7;
my $name = "DIN 1460 BUL";
# Taken from http://www.unhchr.ch/udhr/lang/blg.htm
my $udohr_cyr = "Като взе предвид, че пренебрегването и неуважаването " .
"на правата на човека доведоха до варварски деяния, " .
"които потресоха съвестта на човечеството, и че ".
"създаването на един свят, в който хората ще се радват ".
"на свобода на словото и убежденията си и ще бъдат " .
"свободни от страх и лишения бе провъзгласено за " .
"най-съкровения стремеж на човека,";
my $udohr_lat = "Kato vze predvid, če prenebregvaneto i " .
"neuvažavaneto na pravata na čoveka dovedocha ".
"do varvarski dejanija, koito potresocha săvestta " .
"na čovečestvoto, i če săzdavaneto na edin svjat, v " .
"kojto chorata šte se radvat na svoboda na slovoto i " .
"ubeždenijata si i šte bădat svobodni ot strach i " .
"lišenija be provăzglaseno za naj-săkrovenija stremež " .
"na čoveka,";
# Test hyphen
my $hyphen_cyr = "равнище, юрисдикция, задължиха, " . # small without
"Южнославянски, Хърватски, " . # capital without
"йа, ЙАК, йу, Йуно, пешть, ШТАБ, Штаб";
# these need a hyphen, but as it is very unlikely to
# find these combinations, the examples are construed
my $hyphen_lat = "ravnište, jurisdikcija, zadălžicha, " .
"Južnoslavjanski, Chărvatski, " .
"j-a, J-AK, j-u, J-uno, peš-t', Š-TAB, Š-tab";
# Test all caps, hard and soft signs
my $context_cyr = "ОБЩОТО , ВСЕОБЩА , ДЕКЛАРАЦЯ , ПРЕАМБЮЛ --- " . #allcaps
"внукът , Ъгъл , СЪБРАИНЕ --- " . # hard sign
"актьор , СИНЬО" ; # soft sign
my $context_lat = "OBŠTOTO , VSEOBŠTA , DEKLARACJA , PREAMBJUL --- " .
"vnukăt , Ăgăl , SĂBRAINE --- " .
"akt'or , SIN'O";
use Lingua::Translit;
my $tr = new Lingua::Translit($name);
# 1
is($tr->can_reverse(), 1, "$name: is reversible");
my $o = $tr->translit($context_cyr);
# 2
is($o, $context_lat, "$name: hard and soft signs");
$o = $tr->translit_reverse($o);
# 3
is($o, $context_cyr, "$name: hard and soft signs (reverse)");
$o = $tr->translit($udohr_cyr);
# 4
is($o, $udohr_lat, "$name: UDOHR transliteration");
$o = $tr->translit_reverse($o);
# 5
is($o, $udohr_cyr, "$name: UDOHR transliteration (reverse)");
$o = $tr->translit($hyphen_cyr);
# 6
is($o, $hyphen_lat, "$name: hyphen separator");
$o = $tr->translit_reverse($o);
# 7
is($o, $hyphen_cyr, "$name: hyphen separator (reverse)");