File: shape.t

package info (click to toggle)
libtext-bidi-perl 2.15-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,268 kB
  • sloc: ansic: 3,500; perl: 1,080; makefile: 25
file content (29 lines) | stat: -rw-r--r-- 963 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use strict;
use warnings;
use charnames ":full";
use Test::More tests => 3;
use Text::Bidi qw(log2vis);

sub f($) { join(' ', map { sprintf("U+%04x(%s)", ord, lc charnames::viacode(ord)) } split //, shift ) }

sub t($$$) {
	my ($name, $try, $real) = @_;
	my $vis = log2vis($try);
	return ok(1, $name) if $vis eq $real;
	ok(0, $name);
	printf <<DUMP, f $try, f $vis, f $real;
#   log2vis('%s')
#   is '%s', 
#   while '%s' was expected
DUMP
}

t "default join"     => 
	"\N{ARABIC LETTER LAM}\N{ARABIC LETTER HAH}", 
	"\N{ARABIC LETTER HAH FINAL FORM}\N{ARABIC LETTER LAM INITIAL FORM}";
t "force non-join" => 
	"\N{ARABIC LETTER LAM}\N{ZERO WIDTH NON-JOINER}\N{ARABIC LETTER HAH}", 
	"\N{ARABIC LETTER HAH ISOLATED FORM}\N{ZERO WIDTH NON-JOINER}\N{ARABIC LETTER LAM ISOLATED FORM}";
t "force join" => 
	"\N{ARABIC LETTER LAM}\N{ZERO WIDTH JOINER}\N{ARABIC LETTER HAH}", 
	"\N{ARABIC LETTER HAH FINAL FORM}\N{ZERO WIDTH JOINER}\N{ARABIC LETTER LAM INITIAL FORM}";