1#
2#                           TERMS AND CONDITIONS
3#                                   FOR
4#                         OPEN SOURCE CODE LICENSE
5#                               Version 1.1
6#
7# Japan Registry Services Co., Ltd. ("JPRS"), a Japanese corporation
8# having its head office at Chiyoda First Bldg. East 13F 3-8-1 Nishi-Kanda,
9# Chiyoda-ku, Tokyo 101-0065, Japan, grants you the license for open source
10# code specified in EXHIBIT A the "Code" subject to the following Terms and
11# Conditions ("OSCL").
12#
13# 1. License Grant.
14#   JPRS hereby grants you a worldwide, royalty-free, non-exclusive
15#   license, subject to third party intellectual property claims:
16#   (a) under intellectual property rights (other than patent or
17#       trademark) licensable by JPRS to use, reproduce, modify, display,
18#       perform, sublicense and distribute the Code (or portions thereof)
19#       with or without modifications, and/or as part of a derivative work;
20#       or
21#   (b) under claims of the infringement through the making, using,
22#       offering to sell and/or otherwise disposing the JPRS Revised Code
23#       (or portions thereof);
24#   (c) the licenses granted in this Section 1(a) and (b) are effective on
25#       the date JPRS first distributes the Code to you under the terms of
26#       this OSCL;
27#   (d) Notwithstanding the above stated terms, no patent license is
28#       granted:
29#       1)  for a code that you delete from the Code;
30#       2)  separate from the Code; or
31#       3)  for infringements caused by:
32#            i) modification of the Code; or
33#           ii) combination of the Code with other software or devices.
34#
35# 2. Consents.
36#   You agree that:
37#   (a) you must include a copy of this OSCL and the notice set forth in
38#       EXHIBIT A with every copy of the Code you distribute;
39#   (b) you must include a copy of this OSCL and the notice set forth in
40#       EXHIBIT A with every copy of binary form of the Code in the
41#       documentation and/or other materials provided with the distribution;
42#   (c) you may not offer or impose any terms on any source code version
43#       that alters or restricts the applicable version of this OSCL or
44#       the recipients' rights hereunder.
45#   (d) If the terms and conditions are set forth in EXHIBIT A, you must
46#       comply with those terms and conditions.
47#
48# 3. Proprietary Information.
49#   All trademarks, service marks, patents, copyrights, trade secrets, and
50#   other proprietary rights in or related to the Code are and will remain
51#   the exclusive property of JPRS or its licensors, whether or not
52#   specifically recognized or perfected under local law except specified
53#   in this OSCL; provided however you agree and understand that the JPRS
54#   name may not be used to endorse or promote this Code without prior
55#   written approval of JPRS.
56#
57# 4. WARRANTY DISCLAIMER.
58#   JPRS MAKES NO REPRESENTATIONS AND WARRANTIES REGARDING THE USE OF THE
59#   CODE, NOR DOES JPRS MAKE ANY REPRESENTATIONS THAT THE CODE WILL BECOME
60#   COMMERCIALLY AVAILABLE. JPRS, ITS AFFILIATES, AND ITS SUPPLIERS DO NOT
61#   WARRANT OR REPRESENT THAT THE CODE IS FREE OF ERRORS OR THAT THE CODE
62#   IS SUITABLE FOR TRANSLATION AND/OR LOCALIZATION. THE CODE IS PROVIDED
63#   ON AN "AS IS" BASIS AND JPRS AND ITS SUPPLIERS HAVE NO OBLIGATION TO
64#   CORRECT ERRORS OR TO SUPPORT THE CODE UNDER THIS OSCL FOR ANY REASON.
65#   TO THE FULL EXTENT PERMITTED BY LAW, ALL OBLIGATIONS ARE HEREBY
66#   EXCLUDED WHETHER EXPRESS, STATUTORY OR IMPLIED UNDER LAW, COURSE OF
67#   DEALING, CUSTOM, TRADE USAGE, ORAL OR WRITTEN STATEMENT OR OTHERWISE,
68#   INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY
69#   OR FITNESS FOR A PARTICULAR PURPOSE CONCERNING THE CODE.
70#
71# 5. NO LIABILITY.
72#   UNDER NO CIRCUMSTANCES SHALL JPRS AND/OR ITS AFFILIATES, LICENSORS, OR
73#   REPRESENTATIVES BE LIABLE FOR ANY DAMAGES INCLUDING BUT NOT LIMITED TO
74#   CONSEQUENTIAL, INDIRECT, SPECIAL, PUNITIVE OR INCIDENTAL DAMAGES,
75#   WHETHER FORESEEABLE OR UNFORESEEABLE, BASED ON YOUR CLAIMS, INCLUDING,
76#   BUT NOT LIMITED TO, CLAIMS FOR LOSS OF DATA, GOODWILL, PROFITS, USE OF
77#   MONEY, INTERRUPTION IN USE OR AVAILABILITY OF DATA, STOPPAGE, IMPLIED
78#   WARRANTY, BREACH OF CONTRACT, MISREPRESENTATION, NEGLIGENCE, STRICT
79#   LIABILITY IN TORT, OR OTHERWISE.
80#
81# 6. Indemnification.
82#   You hereby agree to indemnify, defend, and hold harmless JPRS for any
83#   liability incurred by JRPS due to your terms of warranty, support,
84#   indemnity, or liability offered by you to any third party.
85#
86# 7. Termination.
87# 7.1 This OSCL shall be automatically terminated in the events that:
88#   (a) You fail to comply with the terms herein and fail to cure such
89#       breach within 30 days of becoming aware of the breach;
90#   (b) You initiate patent or copyright infringement litigation against
91#       any party (including a cross-claim or counterclaim in a lawsuit)
92#       alleging that the Code constitutes a direct or indirect patent or
93#       copyright infringement, in such case, this OSCL to you shall
94#       terminate as of the date such litigation is filed;
95# 7.2 In the event of termination under Sections 7.1(a) or 7.1(b) above,
96#     all end user license agreements (excluding distributors and
97#     resellers) which have been validly granted by You or any distributor
98#     hereunder prior to termination shall survive termination.
99#
100#
101# 8. General.
102#   This OSCL shall be governed by, and construed and enforced in
103#   accordance with, the laws of Japan. Any litigation or arbitration
104#   between the parties shall be conducted exclusively in Tokyo, Japan
105#   except written consent of JPRS provides other venue.
106#
107#
108#                                EXHIBIT A
109#
110# The original open source code of idnkit-2 is idnkit-1.0 developed and
111# conceived by Japan Network Information Center ("JPNIC"), a Japanese
112# association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
113# Chiyoda-ku, Tokyo 101-0047, Japan, and JPRS modifies above original code
114# under following Terms and Conditions set forth by JPNIC.
115#
116#                                  JPNIC
117#
118# Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved.
119#
120# By using this file, you agree to the terms and conditions set forth bellow.
121#
122#                       LICENSE TERMS AND CONDITIONS
123#
124# The following License Terms and Conditions apply, unless a different
125# license is obtained from Japan Network Information Center ("JPNIC"),
126# a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
127# Chiyoda-ku, Tokyo 101-0047, Japan.
128#
129# 1. Use, Modification and Redistribution (including distribution of any
130#    modified or derived work) in source and/or binary forms is permitted
131#    under this License Terms and Conditions.
132#
133# 2. Redistribution of source code must retain the copyright notices as they
134#    appear in each source code file, this License Terms and Conditions.
135#
136# 3. Redistribution in binary form must reproduce the Copyright Notice,
137#    this License Terms and Conditions, in the documentation and/or other
138#    materials provided with the distribution. For the purposes of binary
139#    distribution the "Copyright Notice" refers to the following language:
140#    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
141#
142# 4. The name of JPNIC may not be used to endorse or promote products
143#    derived from this Software without specific prior written approval of
144#    JPNIC.
145#
146# 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
147#    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
148#    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
149#    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
150#    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
151#    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
152#    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
153#    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
154#    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
155#    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
156#    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
157#
158#
159#                        JPRS Public License Notice
160#                                   For
161#                                idnkit-2.
162#
163# The contents of this file are subject to the Terms and Conditions for
164# the Open Source Code License (the "OSCL"). You may not use this file
165# except in compliance with above terms and conditions. A copy of the OSCL
166# is available at <http://jprs.co.jp/idn/>.
167# The JPRS Revised Code is idnkit-2.
168# The Initial Developer of the JPRS Revised Code is Japan Network
169# Information Center ("JPNIC"), a Japanese association,
170# Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda, Chiyoda-ku, Tokyo
171# 101-0047, Japan.
172# "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
173# "Copyright (c) 2010-2012 Japan Registry Services Co., Ltd.  All rights reserved."
174# Contributor(s): ______________________________________.
175#
176# If you wish to allow use of your version of this file only under the
177# above License(s) and not to allow others to use your version of this
178# file, please indicate your decision by deleting the relevant provisions
179# above and replacing them with the notice and other provisions required
180# by the above License(s). If you do not delete the relevant provisions,
181# a recipient may use your version of this file under either the above
182# License(s).
183#
184
185#
186# Tests about [IDNA2008-Bidi].
187#
188# The tests mainly use the following code points:
189#    U+0041   L     LATIN CAPITAL LETTER A
190#    U+202A   LRE   LEFT-TO-RIGHT EMBEDDING
191#    U+202D   LRO   LEFT-TO-RIGHT OVERRIDE
192#    U+05D0   R     HEBREW LETTER ALEF
193#    U+0627   AL    ARABIC LETTER ALEF
194#    U+202B   RLE   RIGHT-TO-LEFT EMBEDDING
195#    U+202E   RLO   RIGHT-TO-LEFT OVERRIDE
196#    U+202C   PDF   POP DIRECTIONAL FORMATTING
197#    U+0030   EN    DIGIT ZERO
198#    U+002B   ES    PLUS SIGN
199#    U+0025   ET    PERCENT SIGN
200#    U+0600   AN    ALABIC NUMBER SIGN
201#    U+002C   CS    COMMA
202#    U+0300   NSM   COMBINING GRAVE ACCENT
203#    U+1D173  BN    MUSICAL SYMBOL BEGIN BEAM
204#    U+2029   B     PARAGRAPH SEPARATOR
205#    U+001F   S     INFORMATION SEPARATOR ONE
206#    U+1680   WS    OGHAM SPACE MARK
207#    U+002A   ON    ASTERISK
208#
209--
210######################################################################
211# BIDI domain name inspection:
212#    A "BIDI domain name" is a domain name that contains at least one
213#    label that contains at least one character of type R, AL or AN.
214#    The BIDI Rule is applied to BIDI domain names only.
215######################################################################
216--
217#
218# Bidicheck test.
219# Check BIDI domain name inspection.
220# The input name is just U+0041 (bidiclass: L).
221#
222             api: encodename
223  local_encoding: U-escape
224            conf:
225            from: A
226         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
227          result: success
228              to: A
229--
230#
231# Bidicheck test.
232# Check BIDI domain name inspection.
233# The input name is just U+202A (bidiclass: LRE).
234#
235             api: encodename
236  local_encoding: U-escape
237            conf:
238            from: \u{202a}
239         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
240          result: success
241              to: \u{202a}
242--
243#
244# Bidicheck test.
245# Check BIDI domain name inspection.
246# The input name is just U+202D (bidiclass: LRO).
247#
248             api: encodename
249  local_encoding: U-escape
250            conf:
251            from: \u{202d}
252         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
253          result: success
254              to: \u{202d}
255--
256#
257# Bidicheck test.
258# Check BIDI domain name inspection.
259# The input name is just U+05D0 (bidiclass: R).
260#
261             api: encodename
262  local_encoding: U-escape
263            conf:
264            from: \u{5d0}
265         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
266          result: success
267              to: \u{5d0}
268--
269#
270# Bidicheck test.
271# Check BIDI domain name inspection.
272#
273# The input name is just U+0627 (bidiclass: AL).
274#
275             api: encodename
276  local_encoding: U-escape
277            conf:
278            from: \u{627}
279         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
280          result: success
281              to: \u{627}
282--
283#
284# Bidicheck test.
285# Check BIDI domain name inspection.
286# The input name is just U+202B (bidiclass: RLE).
287#
288             api: encodename
289  local_encoding: U-escape
290            conf:
291            from: \u{202b}
292         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
293          result: success
294              to: \u{202b}
295--
296#
297# Bidicheck test.
298# Check BIDI domain name inspection.
299# The input name is just U+202E (bidiclass: RLO).
300#
301             api: encodename
302  local_encoding: U-escape
303            conf:
304            from: \u{202e}
305         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
306          result: success
307              to: \u{202e}
308--
309#
310# Bidicheck test.
311# Check BIDI domain name inspection.
312# The input name is just U+202C (bidiclass: PDF).
313#
314             api: encodename
315  local_encoding: U-escape
316            conf:
317            from: \u{202c}
318         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
319          result: success
320              to: \u{202c}
321--
322#
323# Bidicheck test.
324# Check BIDI domain name inspection.
325# The input name is just U+0030 (bidiclass: EN).
326#
327             api: encodename
328  local_encoding: U-escape
329            conf:
330            from: 0
331         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
332          result: success
333              to: 0
334--
335#
336# Bidicheck test.
337# Check BIDI domain name inspection.
338# The input name is just U+002B (bidiclass: ES).
339#
340             api: encodename
341  local_encoding: U-escape
342            conf:
343            from: +
344         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
345          result: success
346              to: +
347--
348#
349# Bidicheck test.
350# Check BIDI domain name inspection.
351# The input name is just U+0025 (bidiclass: ET).
352#
353             api: encodename
354  local_encoding: U-escape
355            conf:
356            from: %
357         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
358          result: success
359              to: %
360--
361#
362# Bidicheck test.
363# Check BIDI domain name inspection.
364# The input name is just U+0600 (bidiclass: AN).
365#
366             api: encodename
367  local_encoding: U-escape
368            conf:
369            from: \u{600}
370         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
371          result: Bidi check failed
372              to:
373--
374#
375# Bidicheck test.
376# Check BIDI domain name inspection.
377# The input name is just U+002C (bidiclass: CS).
378#
379             api: encodename
380  local_encoding: U-escape
381            conf:
382            from: ,
383         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
384          result: success
385              to: ,
386--
387#
388# Bidicheck test.
389# Check BIDI domain name inspection.
390# The input name is just U+0300 (bidiclass: NSM).
391#
392             api: encodename
393  local_encoding: U-escape
394            conf:
395            from: \u{300}
396         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
397          result: success
398              to: \u{300}
399--
400#
401# Bidicheck test.
402# Check BIDI domain name inspection.
403# The input name is just U+070F (bidiclass: BN).
404#
405             api: encodename
406  local_encoding: U-escape
407            conf:
408            from: \u{1d173}
409         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
410          result: success
411              to: \u{1d173}
412--
413#
414# Bidicheck test.
415# Check BIDI domain name inspection.
416# The input name is just U+2029 (bidiclass: B).
417#
418             api: encodename
419  local_encoding: U-escape
420            conf:
421            from: \u{2029}
422         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
423          result: success
424              to: \u{2029}
425--
426#
427# Bidicheck test.
428# Check BIDI domain name inspection.
429# The input name is just U+001F (bidiclass: S).
430#
431             api: encodename
432  local_encoding: U-escape
433            conf:
434            from: \u{1f}
435         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
436          result: success
437              to: \u{1f}
438--
439#
440# Bidicheck test.
441# Check BIDI domain name inspection.
442# The input name is just U+1680 (bidiclass: WS).
443#
444             api: encodename
445  local_encoding: U-escape
446            conf:
447            from: \u{1680}
448         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
449          result: success
450              to: \u{1680}
451--
452#
453# Bidicheck test.
454# Check BIDI domain name inspection.
455# The input name is just U+002A (bidiclass: ON).
456#
457             api: encodename
458  local_encoding: U-escape
459            conf:
460            from: *
461         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
462          result: success
463              to: *
464--
465#
466# Bidicheck test.
467# Check BIDI domain name inspection.
468# The input name is U+0041 + ".*" (bidiclass: L . ON).
469#
470             api: encodename
471  local_encoding: U-escape
472            conf:
473            from: A.*
474         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
475          result: success
476              to: A.*
477--
478#
479# Bidicheck test.
480# Check BIDI domain name inspection.
481# The input name is U+202A + ".*" (bidiclass: LRE . ON).
482#
483             api: encodename
484  local_encoding: U-escape
485            conf:
486            from: \u{202a}.*
487         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
488          result: success
489              to: \u{202a}.*
490--
491#
492# Bidicheck test.
493# Check BIDI domain name inspection.
494# The input name is U+202D + ".*" (bidiclass: LRO . ON).
495#
496             api: encodename
497  local_encoding: U-escape
498            conf:
499            from: \u{202d}.*
500         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
501          result: success
502              to: \u{202d}.*
503--
504#
505# Bidicheck test.
506# Check BIDI domain name inspection.
507# The input name is U+05D0 + ".*" (bidiclass: R . ON).
508#
509             api: encodename
510  local_encoding: U-escape
511            conf:
512            from: \u{5d0}.*
513         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
514          result: Bidi check failed
515              to:
516--
517#
518# Bidicheck test.
519# Check BIDI domain name inspection.
520# The input name is U+0627 + ".*" (bidiclass: AL . ON).
521#
522             api: encodename
523  local_encoding: U-escape
524            conf:
525            from: \u{627}.*
526         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
527          result: Bidi check failed
528              to:
529--
530#
531# Bidicheck test.
532# Check BIDI domain name inspection.
533# The input name is U+202B + ".*" (bidiclass: RLE . ON).
534#
535             api: encodename
536  local_encoding: U-escape
537            conf:
538            from: \u{202b}.*
539         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
540          result: success
541              to: \u{202b}.*
542--
543#
544# Bidicheck test.
545# Check BIDI domain name inspection.
546# The input name is U+202E + ".*" (bidiclass: RLO . ON).
547#
548             api: encodename
549  local_encoding: U-escape
550            conf:
551            from: \u{202e}.*
552         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
553          result: success
554              to: \u{202e}.*
555--
556#
557# Bidicheck test.
558# Check BIDI domain name inspection.
559# The input name is U+202C + ".*" (bidiclass: PDF . ON).
560#
561             api: encodename
562  local_encoding: U-escape
563            conf:
564            from: \u{202c}.*
565         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
566          result: success
567              to: \u{202c}.*
568--
569#
570# Bidicheck test.
571# Check BIDI domain name inspection.
572# The input name is U+0030 + ".*" (bidiclass: EN . ON).
573#
574             api: encodename
575  local_encoding: U-escape
576            conf:
577            from: 0.*
578         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
579          result: success
580              to: 0.*
581--
582#
583# Bidicheck test.
584# Check BIDI domain name inspection.
585# The input name is U+002B + ".*" (bidiclass: ES . ON).
586#
587             api: encodename
588  local_encoding: U-escape
589            conf:
590            from: +.*
591         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
592          result: success
593              to: +.*
594--
595#
596# Bidicheck test.
597# Check BIDI domain name inspection.
598# The input name is U+0025 + ".*" (bidiclass: ET . ON).
599#
600             api: encodename
601  local_encoding: U-escape
602            conf:
603            from: %.*
604         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
605          result: success
606              to: %.*
607--
608#
609# Bidicheck test.
610# Check BIDI domain name inspection.
611# The input name is U+0600 + ".*" (bidiclass: AN . ON).
612#
613             api: encodename
614  local_encoding: U-escape
615            conf:
616            from: \u{600}.*
617         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
618          result: Bidi check failed
619              to:
620--
621#
622# Bidicheck test.
623# Check BIDI domain name inspection.
624# The input name is U+002C + ".*" (bidiclass: CS . ON).
625#
626             api: encodename
627  local_encoding: U-escape
628            conf:
629            from: ,.*
630         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
631          result: success
632              to: ,.*
633--
634#
635# Bidicheck test.
636# Check BIDI domain name inspection.
637# The input name is U+0300 + ".*" (bidiclass: NSM . ON).
638#
639             api: encodename
640  local_encoding: U-escape
641            conf:
642            from: \u{300}.*
643         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
644          result: success
645              to: \u{300}.*
646--
647#
648# Bidicheck test.
649# Check BIDI domain name inspection.
650# The input name is U+070F + ".*" (bidiclass: BN . ON).
651#
652             api: encodename
653  local_encoding: U-escape
654            conf:
655            from: \u{1d173}.*
656         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
657          result: success
658              to: \u{1d173}.*
659--
660#
661# Bidicheck test.
662# Check BIDI domain name inspection.
663# The input name is U+2029 + ".*" (bidiclass: B . ON).
664#
665             api: encodename
666  local_encoding: U-escape
667            conf:
668            from: \u{2029}.*
669         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
670          result: success
671              to: \u{2029}.*
672--
673#
674# Bidicheck test.
675# Check BIDI domain name inspection.
676# The input name is U+001F + ".*" (bidiclass: S . ON).
677#
678             api: encodename
679  local_encoding: U-escape
680            conf:
681            from: \u{1f}.*
682         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
683          result: success
684              to: \u{1f}.*
685--
686#
687# Bidicheck test.
688# Check BIDI domain name inspection.
689# The input name is U+1680 + ".*" (bidiclass: WS . ON).
690#
691             api: encodename
692  local_encoding: U-escape
693            conf:
694            from: \u{1680}.*
695         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
696          result: success
697              to: \u{1680}.*
698--
699#
700# Bidicheck test.
701# Check BIDI domain name inspection.
702# The input name is U+002A + ".*" (bidiclass: ON . ON).
703#
704             api: encodename
705  local_encoding: U-escape
706            conf:
707            from: *.*
708         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
709          result: success
710              to: *.*
711--
712#
713# Bidicheck test.
714# Check BIDI domain name inspection.
715#
716# The input name is "a" + U+05D0 (bidiclass: L + R).
717#
718# [IDNA2008-Bidi] defines the term "an RTL label" twice.
719# The "2. The BIDI Rule" chapter says "if it (= the first character)
720# has the R or AL property, it is an RTL label", while the
721# "1.4. Terminology" section says "an RTL label is a label that
722# contains at least one character of type R, AL or AN".
723#
724# The latter definition is used to define the term "BIDI domain name"
725# and "2. BIDI Rule" also says "the following rule, (snip), applies
726# to labels in BIDI domain names".
727#
728# The input name of this test is not "an RTL label" defined by
729# "2. The BIDI Rule", but it is a BIDI domain name. It must satisfy
730# "an LTR label" conditions described in "2. The BIDI Rule".
731#
732             api: encodename
733  local_encoding: U-escape
734            conf:
735            from: A\u{5d0}
736         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
737          result: Bidi check failed
738              to:
739--
740######################################################################
741# The BIDI rule 1.
742#    The first character must be a character with BIDI property L, R
743#    or AL.
744######################################################################
745--
746#
747# Bidicheck test.
748# Check the bidi rule 1.
749# The input name is U+0041 + "." + U+05D0 (bidiclass: L . R).
750#
751             api: encodename
752  local_encoding: U-escape
753            conf:
754            from: A.\u{5d0}
755         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
756          result: success
757              to: A.\u{5d0}
758--
759#
760# Bidicheck test.
761# Check the bidi rule 1.
762# The input name is U+202A + "." + U+05D0 (bidiclass: LRE . R).
763#
764             api: encodename
765  local_encoding: U-escape
766            conf:
767            from: \u{202a}.\u{5d0}
768         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
769          result: Bidi check failed
770              to:
771--
772#
773# Bidicheck test.
774# Check the bidi rule 1.
775# The input name is U+202D + "." + U+05D0 (bidiclass: LRO . R).
776#
777             api: encodename
778  local_encoding: U-escape
779            conf:
780            from: \u{202d}.\u{5d0}
781         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
782          result: Bidi check failed
783              to:
784--
785#
786# Bidicheck test.
787# Check the bidi rule 1.
788# The input name is U+05D0 + "." + U+05D0 (bidiclass: R . R).
789#
790             api: encodename
791  local_encoding: U-escape
792            conf:
793            from: \u{5d0}.\u{5d0}
794         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
795          result: success
796              to: \u{5d0}.\u{5d0}
797--
798#
799# Bidicheck test.
800# Check the bidi rule 1.
801# The input name is U+0627 + "." + U+05D0 (bidiclass: AL . R).
802#
803             api: encodename
804  local_encoding: U-escape
805            conf:
806            from: \u{627}.\u{5d0}
807         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
808          result: success
809              to: \u{627}.\u{5d0}
810--
811#
812# Bidicheck test.
813# Check the bidi rule 1.
814# The input name is U+202B + "." + U+05D0 (bidiclass: RLE . R).
815#
816             api: encodename
817  local_encoding: U-escape
818            conf:
819            from: \u{202b}.\u{5d0}
820         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
821          result: Bidi check failed
822              to:
823--
824#
825# Bidicheck test.
826# Check the bidi rule 1.
827# The input name is U+202E + "." + U+05D0 (bidiclass: RLO . R).
828#
829             api: encodename
830  local_encoding: U-escape
831            conf:
832            from: \u{202e}.\u{5d0}
833         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
834          result: Bidi check failed
835              to:
836--
837#
838# Bidicheck test.
839# Check the bidi rule 1.
840# The input name is U+202C + "." + U+05D0 (bidiclass: PDF . R).
841#
842             api: encodename
843  local_encoding: U-escape
844            conf:
845            from: \u{202c}.\u{5d0}
846         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
847          result: Bidi check failed
848              to:
849--
850#
851# Bidicheck test.
852# Check the bidi rule 1.
853# The input name is U+0030 + "." + U+05D0 (bidiclass: EN . R).
854#
855             api: encodename
856  local_encoding: U-escape
857            conf:
858            from: 0.\u{5d0}
859         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
860          result: Bidi check failed
861              to:
862--
863#
864# Bidicheck test.
865# Check the bidi rule 1.
866# The input name is U+002B + "." + U+05D0 (bidiclass: ES . R).
867#
868             api: encodename
869  local_encoding: U-escape
870            conf:
871            from: +.\u{5d0}
872         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
873          result: Bidi check failed
874              to:
875--
876#
877# Bidicheck test.
878# Check the bidi rule 1.
879# The input name is U+0025 + "." + U+05D0 (bidiclass: ET . R).
880#
881             api: encodename
882  local_encoding: U-escape
883            conf:
884            from: %.\u{5d0}
885         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
886          result: Bidi check failed
887              to:
888--
889#
890# Bidicheck test.
891# Check the bidi rule 1.
892# The input name is U+0600 + "." + U+05D0 (bidiclass: AN . R).
893#
894             api: encodename
895  local_encoding: U-escape
896            conf:
897            from: \u{600}.\u{5d0}
898         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
899          result: Bidi check failed
900              to:
901--
902#
903# Bidicheck test.
904# Check the bidi rule 1.
905# The input name is U+002C + "." + U+05D0 (bidiclass: CS . R).
906#
907             api: encodename
908  local_encoding: U-escape
909            conf:
910            from: ,.\u{5d0}
911         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
912          result: Bidi check failed
913              to:
914--
915#
916# Bidicheck test.
917# Check the bidi rule 1.
918# The input name is U+0300 + "." + U+05D0 (bidiclass: NSM . R).
919#
920             api: encodename
921  local_encoding: U-escape
922            conf:
923            from: \u{300}.\u{5d0}
924         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
925          result: Bidi check failed
926              to:
927--
928#
929# Bidicheck test.
930# Check the bidi rule 1.
931# The input name is U+070F + "." + U+05D0 (bidiclass: BN . R).
932#
933             api: encodename
934  local_encoding: U-escape
935            conf:
936            from: \u{1d173}.\u{5d0}
937         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
938          result: Bidi check failed
939              to:
940--
941#
942# Bidicheck test.
943# Check the bidi rule 1.
944# The input name is U+2029 + "." + U+05D0 (bidiclass: B . R).
945#
946             api: encodename
947  local_encoding: U-escape
948            conf:
949            from: \u{2029}.\u{5d0}
950         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
951          result: Bidi check failed
952              to:
953--
954#
955# Bidicheck test.
956# Check the bidi rule 1.
957# The input name is U+001F + "." + U+05D0 (bidiclass: S . R).
958#
959             api: encodename
960  local_encoding: U-escape
961            conf:
962            from: \u{1f}.\u{5d0}
963         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
964          result: Bidi check failed
965              to:
966--
967#
968# Bidicheck test.
969# Check the bidi rule 1.
970# The input name is U+1680 + "." + U+05D0 (bidiclass: WS . R).
971#
972             api: encodename
973  local_encoding: U-escape
974            conf:
975            from: \u{1680}.\u{5d0}
976         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
977          result: Bidi check failed
978              to:
979--
980#
981# Bidicheck test.
982# Check the bidi rule 1.
983# The input name is U+002A + "." + U+05D0 (bidiclass: ON . R).
984#
985             api: encodename
986  local_encoding: U-escape
987            conf:
988            from: *.\u{5d0}
989         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
990          result: Bidi check failed
991              to:
992--
993######################################################################
994# The BIDI Rule 2:
995#    In an RTL label, only characters with the BIDI properties R, AL,
996#    AN, EN, ES, CS, ET, ON, BN and NSM are allowed.
997######################################################################
998--
999#
1000# Bidicheck test.
1001# Check the bidi rule 2.
1002# The input name is U+05D0 U+0041 U+0627 (bidiclass: R L AL).
1003#
1004             api: encodename
1005  local_encoding: U-escape
1006            conf:
1007            from: \u{5d0}A\u{627}
1008         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1009          result: Bidi check failed
1010              to:
1011--
1012#
1013# Bidicheck test.
1014# Check the bidi rule 2.
1015# The input name is U+05D0 U+202A U+0627 (bidiclass: R LRE AL).
1016#
1017             api: encodename
1018  local_encoding: U-escape
1019            conf:
1020            from: \u{5d0}\u{202a}\u{627}
1021         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1022          result: Bidi check failed
1023              to:
1024--
1025#
1026# Bidicheck test.
1027# Check the bidi rule 2.
1028# The input name is U+05D0 U+202D U+0627 (bidiclass: R LRO AL).
1029#
1030             api: encodename
1031  local_encoding: U-escape
1032            conf:
1033            from: \u{5d0}\u{202d}\u{627}
1034         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1035          result: Bidi check failed
1036              to:
1037--
1038#
1039# Bidicheck test.
1040# Check the bidi rule 2.
1041# The input name is U+05D0 U+202B U+0627 (bidiclass: R RLE AL).
1042#
1043             api: encodename
1044  local_encoding: U-escape
1045            conf:
1046            from: \u{5d0}\u{202b}\u{627}
1047         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1048          result: Bidi check failed
1049              to:
1050--
1051#
1052# Bidicheck test.
1053# Check the bidi rule 2.
1054# The input name is U+05D0 U+202E U+0627 (bidiclass: R RLO AL).
1055#
1056             api: encodename
1057  local_encoding: U-escape
1058            conf:
1059            from: \u{5d0}\u{202e}\u{627}
1060         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1061          result: Bidi check failed
1062              to:
1063--
1064#
1065# Bidicheck test.
1066# Check the bidi rule 2.
1067# The input name is U+05D0 U+202C U+0627 (bidiclass: R PDF AL).
1068#
1069             api: encodename
1070  local_encoding: U-escape
1071            conf:
1072            from: \u{5d0}\u{202c}\u{627}
1073         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1074          result: Bidi check failed
1075              to:
1076--
1077#
1078# Bidicheck test.
1079# Check the bidi rule 2.
1080# The input name is U+05D0 U+0030 U+0627 (bidiclass: R EN AL).
1081#
1082             api: encodename
1083  local_encoding: U-escape
1084            conf:
1085            from: \u{5d0}0\u{627}
1086         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1087          result: success
1088              to: \u{5d0}0\u{627}
1089--
1090#
1091# Bidicheck test.
1092# Check the bidi rule 2.
1093# The input name is U+05D0 U+002B U+0627 (bidiclass: R ES AL).
1094#
1095             api: encodename
1096  local_encoding: U-escape
1097            conf:
1098            from: \u{5d0}+\u{627}
1099         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1100          result: success
1101              to: \u{5d0}+\u{627}
1102--
1103#
1104# Bidicheck test.
1105# Check the bidi rule 2.
1106# The input name is U+05D0 U+0025 U+0627 (bidiclass: R ET AL).
1107#
1108             api: encodename
1109  local_encoding: U-escape
1110            conf:
1111            from: \u{5d0}%\u{627}
1112         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1113          result: success
1114              to: \u{5d0}%\u{627}
1115--
1116#
1117# Bidicheck test.
1118# Check the bidi rule 2.
1119# The input name is U+05D0 U+0600 U+0627 (bidiclass: R AN AL).
1120#
1121             api: encodename
1122  local_encoding: U-escape
1123            conf:
1124            from: \u{5d0}\u{600}\u{627}
1125         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1126          result: success
1127              to: \u{5d0}\u{600}\u{627}
1128--
1129#
1130# Bidicheck test.
1131# Check the bidi rule 2.
1132# The input name is U+05D0 U+002C U+0627 (bidiclass: R CS AL).
1133#
1134             api: encodename
1135  local_encoding: U-escape
1136            conf:
1137            from: \u{5d0},\u{627}
1138         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1139          result: success
1140              to: \u{5d0},\u{627}
1141--
1142#
1143# Bidicheck test.
1144# Check the bidi rule 2.
1145# The input name is U+05D0 U+0300 U+0627 (bidiclass: R NSM AL).
1146#
1147             api: encodename
1148  local_encoding: U-escape
1149            conf:
1150            from: \u{5d0}\u{300}\u{627}
1151         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1152          result: success
1153              to: \u{5d0}\u{300}\u{627}
1154--
1155#
1156# Bidicheck test.
1157# Check the bidi rule 2.
1158# The input name is U+05D0 U+070F U+0627 (bidiclass: R BN AL).
1159#
1160             api: encodename
1161  local_encoding: U-escape
1162            conf:
1163            from: \u{5d0}\u{1d173}\u{627}
1164         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1165          result: success
1166              to: \u{5d0}\u{1d173}\u{627}
1167--
1168#
1169# Bidicheck test.
1170# Check the bidi rule 2.
1171# The input name is U+05D0 U+2029 U+0627 (bidiclass: R B AL).
1172#
1173             api: encodename
1174  local_encoding: U-escape
1175            conf:
1176            from: \u{5d0}\u{2029}\u{627}
1177         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1178          result: Bidi check failed
1179              to:
1180--
1181#
1182# Bidicheck test.
1183# Check the bidi rule 2.
1184# The input name is U+05D0 U+001F U+0627 (bidiclass: R S AL).
1185#
1186             api: encodename
1187  local_encoding: U-escape
1188            conf:
1189            from: \u{5d0}\u{1f}\u{627}
1190         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1191          result: Bidi check failed
1192              to:
1193--
1194#
1195# Bidicheck test.
1196# Check the bidi rule 2.
1197# The input name is U+05D0 U+1680 U+0627 (bidiclass: R WS AL).
1198#
1199             api: encodename
1200  local_encoding: U-escape
1201            conf:
1202            from: \u{5d0}\u{1680}\u{627}
1203         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1204          result: Bidi check failed
1205              to:
1206--
1207#
1208# Bidicheck test.
1209# Check the bidi rule 2.
1210# The input name is U+05D0 U+002A U+0627 (bidiclass: R ON AL).
1211#
1212             api: encodename
1213  local_encoding: U-escape
1214            conf:
1215            from: \u{5d0}*\u{627}
1216         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1217          result: success
1218              to: \u{5d0}*\u{627}
1219--
1220######################################################################
1221# The BIDI Rule 3:
1222#    In an RTL label, the end of the label must be a character with
1223#    BIDI property R, AL, EN or AN, followed by zero or more
1224#    characters with BIDI property NSM.
1225######################################################################
1226--
1227#
1228# Bidicheck test.
1229# Check the bidi rule 3.
1230# The input name is U+05D0 U+05D0 (bidiclass: R R).
1231#
1232             api: encodename
1233  local_encoding: U-escape
1234            conf:
1235            from: \u{5d0}\u{5d0}
1236         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1237          result: success
1238              to: \u{5d0}\u{5d0}
1239--
1240#
1241# Bidicheck test.
1242# Check the bidi rule 3.
1243# The input name is U+05D0 U+0627 (bidiclass: R AL).
1244#
1245             api: encodename
1246  local_encoding: U-escape
1247            conf:
1248            from: \u{5d0}\u{627}
1249         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1250          result: success
1251              to: \u{5d0}\u{627}
1252--
1253#
1254# Bidicheck test.
1255# Check the bidi rule 3.
1256# The input name is U+05D0 U+0030 (bidiclass: R EN).
1257#
1258             api: encodename
1259  local_encoding: U-escape
1260            conf:
1261            from: \u{5d0}0
1262         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1263          result: success
1264              to: \u{5d0}0
1265--
1266#
1267# Bidicheck test.
1268# Check the bidi rule 3.
1269# The input name is U+05D0 U+002B (bidiclass: R ES).
1270#
1271             api: encodename
1272  local_encoding: U-escape
1273            conf:
1274            from: \u{5d0}+
1275         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1276          result: Bidi check failed
1277              to:
1278--
1279#
1280# Bidicheck test.
1281# Check the bidi rule 3.
1282# The input name is U+05D0 U+0025 (bidiclass: R ET).
1283#
1284             api: encodename
1285  local_encoding: U-escape
1286            conf:
1287            from: \u{5d0}%
1288         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1289          result: Bidi check failed
1290              to:
1291--
1292#
1293# Bidicheck test.
1294# Check the bidi rule 3.
1295# The input name is U+05D0 U+0600 (bidiclass: R AN).
1296#
1297             api: encodename
1298  local_encoding: U-escape
1299            conf:
1300            from: \u{5d0}\u{600}
1301         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1302          result: success
1303              to: \u{5d0}\u{600}
1304--
1305#
1306# Bidicheck test.
1307# Check the bidi rule 3.
1308# The input name is U+05D0 U+002C (bidiclass: R CS).
1309#
1310             api: encodename
1311  local_encoding: U-escape
1312            conf:
1313            from: \u{5d0},
1314         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1315          result: Bidi check failed
1316              to:
1317--
1318#
1319# Bidicheck test.
1320# Check the bidi rule 3.
1321# The input name is U+05D0 U+070F (bidiclass: R BN).
1322#
1323             api: encodename
1324  local_encoding: U-escape
1325            conf:
1326            from: \u{5d0}\u{1d173}
1327         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1328          result: Bidi check failed
1329              to:
1330--
1331#
1332# Bidicheck test.
1333# Check the bidi rule 3.
1334# The input name is U+05D0 U+002A (bidiclass: R ON).
1335#
1336             api: encodename
1337  local_encoding: U-escape
1338            conf:
1339            from: \u{5d0}*
1340         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1341          result: Bidi check failed
1342              to:
1343--
1344#
1345# Bidicheck test.
1346# Check the bidi rule 3.
1347# The input name is U+05D0 U+05D0 U+0300 (bidiclass: R R NSM).
1348#
1349             api: encodename
1350  local_encoding: U-escape
1351            conf:
1352            from: \u{5d0}\u{5d0}\u{300}
1353         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1354          result: success
1355              to: \u{5d0}\u{5d0}\u{300}
1356--
1357#
1358# Bidicheck test.
1359# Check the bidi rule 3.
1360# The input name is U+05D0 U+0627 U+0300 (bidiclass: R AL NSM).
1361#
1362             api: encodename
1363  local_encoding: U-escape
1364            conf:
1365            from: \u{5d0}\u{627}\u{300}
1366         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1367          result: success
1368              to: \u{5d0}\u{627}\u{300}
1369--
1370#
1371# Bidicheck test.
1372# Check the bidi rule 3.
1373# The input name is U+05D0 U+0030 U+0300 (bidiclass: R EN NSM).
1374#
1375             api: encodename
1376  local_encoding: U-escape
1377            conf:
1378            from: \u{5d0}0\u{300}
1379         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1380          result: success
1381              to: \u{5d0}0\u{300}
1382--
1383#
1384# Bidicheck test.
1385# Check the bidi rule 3.
1386# The input name is U+05D0 U+002B U+0300 (bidiclass: R ES NSM).
1387#
1388             api: encodename
1389  local_encoding: U-escape
1390            conf:
1391            from: \u{5d0}+\u{300}
1392         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1393          result: Bidi check failed
1394              to:
1395--
1396#
1397# Bidicheck test.
1398# Check the bidi rule 3.
1399# The input name is U+05D0 U+0025 U+0300 (bidiclass: R ET NSM).
1400#
1401             api: encodename
1402  local_encoding: U-escape
1403            conf:
1404            from: \u{5d0}%\u{300}
1405         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1406          result: Bidi check failed
1407              to:
1408--
1409#
1410# Bidicheck test.
1411# Check the bidi rule 3.
1412# The input name is U+05D0 U+0600 U+0300 (bidiclass: R AN NSM).
1413#
1414             api: encodename
1415  local_encoding: U-escape
1416            conf:
1417            from: \u{5d0}\u{600}\u{300}
1418         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1419          result: success
1420              to: \u{5d0}\u{600}\u{300}
1421--
1422#
1423# Bidicheck test.
1424# Check the bidi rule 3.
1425# The input name is U+05D0 U+002C U+0300 (bidiclass: R CS NSM).
1426#
1427             api: encodename
1428  local_encoding: U-escape
1429            conf:
1430            from: \u{5d0},\u{300}
1431         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1432          result: Bidi check failed
1433              to:
1434--
1435#
1436# Bidicheck test.
1437# Check the bidi rule 3.
1438# The input name is U+05D0 U+070F U+0300 (bidiclass: R BN NSM).
1439#
1440             api: encodename
1441  local_encoding: U-escape
1442            conf:
1443            from: \u{5d0}\u{1d173}\u{300}
1444         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1445          result: Bidi check failed
1446              to:
1447--
1448#
1449# Bidicheck test.
1450# Check the bidi rule 3.
1451# The input name is U+05D0 U+002A U+0300 (bidiclass: R ON NSM).
1452#
1453             api: encodename
1454  local_encoding: U-escape
1455            conf:
1456            from: \u{5d0}*\u{300}
1457         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1458          result: Bidi check failed
1459              to:
1460--
1461#
1462# Bidicheck test.
1463# Check the bidi rule 3.
1464# The input name is U+05D0 U+05D0 U+0300... (bidiclass: R R NSM{3}).
1465#
1466             api: encodename
1467  local_encoding: U-escape
1468            conf:
1469            from: \u{5d0}\u{5d0}\u{300}\u{300}\u{300}
1470         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1471          result: success
1472              to: \u{5d0}\u{5d0}\u{300}\u{300}\u{300}
1473--
1474#
1475# Bidicheck test.
1476# Check the bidi rule 3.
1477# The input name is U+05D0 U+0627 U+0300... (bidiclass: R AL NSM{3}).
1478#
1479             api: encodename
1480  local_encoding: U-escape
1481            conf:
1482            from: \u{5d0}\u{627}\u{300}\u{300}\u{300}
1483         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1484          result: success
1485              to: \u{5d0}\u{627}\u{300}\u{300}\u{300}
1486--
1487#
1488# Bidicheck test.
1489# Check the bidi rule 3.
1490# The input name is U+05D0 U+0030 U+0300... (bidiclass: R EN NSM{3}).
1491#
1492             api: encodename
1493  local_encoding: U-escape
1494            conf:
1495            from: \u{5d0}0\u{300}\u{300}\u{300}
1496         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1497          result: success
1498              to: \u{5d0}0\u{300}\u{300}\u{300}
1499--
1500#
1501# Bidicheck test.
1502# Check the bidi rule 3.
1503# The input name is U+05D0 U+0600 U+0300 (bidiclass: R AN NSM{3}).
1504#
1505             api: encodename
1506  local_encoding: U-escape
1507            conf:
1508            from: \u{5d0}\u{600}\u{300}\u{300}\u{300}
1509         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1510          result: success
1511              to: \u{5d0}\u{600}\u{300}\u{300}\u{300}
1512--
1513######################################################################
1514# The BIDI Rule 4:
1515#    In an RTL label, if an EN is present, no AN may be present, and
1516#    vice versa.
1517######################################################################
1518--
1519#
1520# Bidicheck test.
1521# Check the bidi rule 4.
1522# The input name is U+05D0 U+0600 U+0030 U+05D0 (bidiclass: R AN EN R).
1523#
1524             api: encodename
1525  local_encoding: U-escape
1526            conf:
1527            from: \u{5d0}\u{600}0\u{5d0}
1528         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1529          result: Bidi check failed
1530              to:
1531--
1532#
1533# Bidicheck test.
1534# Check the bidi rule 4.
1535# The input name is U+05D0 U+0600 U+0030 U+05D0 (bidiclass: R EN AN R).
1536#
1537             api: encodename
1538  local_encoding: U-escape
1539            conf:
1540            from: \u{5d0}0\u{600}\u{5d0}
1541         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1542          result: Bidi check failed
1543              to:
1544--
1545######################################################################
1546# The BIDI Rule 5:
1547#    In an LTR label, only characters with the BIDI properties L, EN,
1548#    ES, CS, ET, ON, BN and NSM are allowed.
1549######################################################################
1550--
1551#
1552# Bidicheck test.
1553# Check the bidi rule 5.
1554# The input name is U+0041 U+202A U+0030 "." U+05D0
1555# (bidiclass: L LRE EN . R).
1556#
1557             api: encodename
1558  local_encoding: U-escape
1559            conf:
1560            from: A\u{202a}0.\u{5d0}
1561         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1562          result: Bidi check failed
1563              to:
1564--
1565#
1566# Bidicheck test.
1567# Check the bidi rule 5.
1568# The input name is U+0041 U+202D U+0030 "." U+05D0
1569# (bidiclass: L LRO EN . R).
1570#
1571             api: encodename
1572  local_encoding: U-escape
1573            conf:
1574            from: A\u{202d}0.\u{5d0}
1575         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1576          result: Bidi check failed
1577              to:
1578--
1579#
1580# Bidicheck test.
1581# Check the bidi rule 5.
1582# The input name is U+0041 U+202B U+0030 "." U+05D0
1583# (bidiclass: L RLE EN . R).
1584#
1585             api: encodename
1586  local_encoding: U-escape
1587            conf:
1588            from: A\u{202b}0.\u{5d0}
1589         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1590          result: Bidi check failed
1591              to:
1592--
1593#
1594# Bidicheck test.
1595# Check the bidi rule 5.
1596# The input name is U+0041 U+202E U+0030 "." U+05D0
1597# (bidiclass: L RLO EN . R).
1598#
1599             api: encodename
1600  local_encoding: U-escape
1601            conf:
1602            from: A\u{202e}0.\u{5d0}
1603         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1604          result: Bidi check failed
1605              to:
1606--
1607#
1608# Bidicheck test.
1609# Check the bidi rule 5.
1610# The input name is U+0041 U+05D0 U+0030 "." U+05D0
1611# (bidiclass: L R EN . R).
1612#
1613             api: encodename
1614  local_encoding: U-escape
1615            conf:
1616            from: A\u{5d0}0.\u{5d0}
1617         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1618          result: Bidi check failed
1619              to:
1620--
1621#
1622# Bidicheck test.
1623# Check the bidi rule 5.
1624# The input name is U+0041 U+202E U+0030 "." U+05D0
1625# (bidiclass: L AL EN . R).
1626#
1627             api: encodename
1628  local_encoding: U-escape
1629            conf:
1630            from: A\u{627}0.\u{5d0}
1631         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1632          result: Bidi check failed
1633              to:
1634--
1635#
1636# Bidicheck test.
1637# Check the bidi rule 5.
1638# The input name is U+0041 U+202C U+0030 "." U+05D0
1639# (bidiclass: L PDF EN . R).
1640#
1641             api: encodename
1642  local_encoding: U-escape
1643            conf:
1644            from: A\u{202c}0.\u{5d0}
1645         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1646          result: Bidi check failed
1647              to:
1648--
1649#
1650# Bidicheck test.
1651# Check the bidi rule 5.
1652# The input name is U+0041 U+002B U+0030 "." U+05D0
1653# (bidiclass: L ES EN . R).
1654#
1655             api: encodename
1656  local_encoding: U-escape
1657            conf:
1658            from: A+0.\u{5d0}
1659         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1660          result: success
1661              to: A+0.\u{5d0}
1662--
1663#
1664# Bidicheck test.
1665# Check the bidi rule 5.
1666# The input name is U+0041 U+0025 U+0030 "." U+05D0
1667# (bidiclass: L ET EN . R).
1668#
1669             api: encodename
1670  local_encoding: U-escape
1671            conf:
1672            from: A%0.\u{5d0}
1673         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1674          result: success
1675              to: A%0.\u{5d0}
1676--
1677#
1678# Bidicheck test.
1679# Check the bidi rule 5.
1680# The input name is U+0041 U+0600 U+0030 "." U+05D0
1681# (bidiclass: L AN EN . R).
1682#
1683             api: encodename
1684  local_encoding: U-escape
1685            conf:
1686            from: A\u{600}0.\u{5d0}
1687         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1688          result: Bidi check failed
1689              to:
1690--
1691#
1692# Bidicheck test.
1693# Check the bidi rule 5.
1694# The input name is U+0041 U+002C U+0030 "." U+05D0
1695# (bidiclass: L CS EN . R).
1696#
1697             api: encodename
1698  local_encoding: U-escape
1699            conf:
1700            from: A,0.\u{5d0}
1701         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1702          result: success
1703              to: A,0.\u{5d0}
1704--
1705#
1706# Bidicheck test.
1707# Check the bidi rule 5.
1708# The input name is U+0041 U+0300 U+0030 "." U+05D0
1709# (bidiclass: L NSM EN . R).
1710#
1711             api: encodename
1712  local_encoding: U-escape
1713            conf:
1714            from: A\u{300}0.\u{5d0}
1715         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1716          result: success
1717              to: A\u{300}0.\u{5d0}
1718--
1719#
1720# Bidicheck test.
1721# Check the bidi rule 5.
1722# The input name is U+0041 U+070F U+0030 "." U+05D0
1723# (bidiclass: L BN EN . R).
1724#
1725             api: encodename
1726  local_encoding: U-escape
1727            conf:
1728            from: A\u{1d173}0.\u{5d0}
1729         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1730          result: success
1731              to: A\u{1d173}0.\u{5d0}
1732--
1733#
1734# Bidicheck test.
1735# Check the bidi rule 5.
1736# The input name is U+0041 U+2029 U+0030 "." U+05D0
1737# (bidiclass: L B EN . R).
1738#
1739             api: encodename
1740  local_encoding: U-escape
1741            conf:
1742            from: A\u{2029}0.\u{5d0}
1743         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1744          result: Bidi check failed
1745              to:
1746--
1747#
1748# Bidicheck test.
1749# Check the bidi rule 5.
1750# The input name is U+0041 U+001F U+0030 "." U+05D0
1751# (bidiclass: L S EN . R).
1752#
1753             api: encodename
1754  local_encoding: U-escape
1755            conf:
1756            from: A\u{1f}0.\u{5d0}
1757         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1758          result: Bidi check failed
1759              to:
1760--
1761#
1762# Bidicheck test.
1763# Check the bidi rule 5.
1764# The input name is U+0041 U+1680 U+0030 "." U+05D0
1765# (bidiclass: L WS EN . R).
1766#
1767             api: encodename
1768  local_encoding: U-escape
1769            conf:
1770            from: A\u{1680}0.\u{5d0}
1771         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1772          result: Bidi check failed
1773              to:
1774--
1775#
1776# Bidicheck test.
1777# Check the bidi rule 5.
1778# The input name is U+0041 U+002A U+0030 "." U+05D0
1779# (bidiclass: L ON EN . R).
1780#
1781             api: encodename
1782  local_encoding: U-escape
1783            conf:
1784            from: A*0.\u{5d0}
1785         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1786          result: success
1787              to: A*0.\u{5d0}
1788--
1789######################################################################
1790# The BIDI Rule 6:
1791#    In an LTR label, the end of the label must be a character with
1792#    BIDI property L or EN, followed by zero or more characters with
1793#    BIDI property NSM.
1794######################################################################
1795--
1796#
1797# Bidicheck test.
1798# Check the bidi rule 6.
1799# The input name is U+0041 U+0041 "." U+05D0
1800# (bidiclass: L L . R).
1801#
1802             api: encodename
1803  local_encoding: U-escape
1804            conf:
1805            from: AA.\u{5d0}
1806         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1807          result: success
1808              to: AA.\u{5d0}
1809--
1810#
1811# Bidicheck test.
1812# Check the bidi rule 6.
1813# The input name is U+0041 U+002B "." U+05D0
1814# (bidiclass: L ES . R).
1815#
1816             api: encodename
1817  local_encoding: U-escape
1818            conf:
1819            from: A+.\u{5d0}
1820         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1821          result: Bidi check failed
1822              to:
1823--
1824#
1825# Bidicheck test.
1826# Check the bidi rule 6.
1827# The input name is U+0041 U+0025 "." U+05D0
1828# (bidiclass: L ET . R).
1829#
1830             api: encodename
1831  local_encoding: U-escape
1832            conf:
1833            from: A%.\u{5d0}
1834         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1835          result: Bidi check failed
1836              to:
1837--
1838#
1839# Bidicheck test.
1840# Check the bidi rule 6.
1841# The input name is U+0041 U+002C "." U+05D0
1842# (bidiclass: L CS . R).
1843#
1844             api: encodename
1845  local_encoding: U-escape
1846            conf:
1847            from: A,.\u{5d0}
1848         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1849          result: Bidi check failed
1850              to:
1851--
1852#
1853# Bidicheck test.
1854# Check the bidi rule 6.
1855# The input name is U+0041 U+070F "." U+05D0
1856# (bidiclass: L BN . R).
1857#
1858             api: encodename
1859  local_encoding: U-escape
1860            conf:
1861            from: A\u{1d173}.\u{5d0}
1862         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1863          result: Bidi check failed
1864              to:
1865--
1866#
1867# Bidicheck test.
1868# Check the bidi rule 6.
1869# The input name is U+0041 U+002A "." U+05D0
1870# (bidiclass: L ON . R).
1871#
1872             api: encodename
1873  local_encoding: U-escape
1874            conf:
1875            from: A*.\u{5d0}
1876         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1877          result: Bidi check failed
1878              to:
1879--
1880#
1881# Bidicheck test.
1882# Check the bidi rule 6.
1883# The input name is U+0041 U+0041 U+0300 "." U+05D0
1884# (bidiclass: L L NSM . R).
1885#
1886             api: encodename
1887  local_encoding: U-escape
1888            conf:
1889            from: AA\u{300}.\u{5d0}
1890         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1891          result: success
1892              to: AA\u{300}.\u{5d0}
1893--
1894#
1895# Bidicheck test.
1896# Check the bidi rule 6.
1897# The input name is U+0041 U+0030 U+0300 "." U+05D0
1898# (bidiclass: L EN NSM . R).
1899#
1900             api: encodename
1901  local_encoding: U-escape
1902            conf:
1903            from: A0\u{300}.\u{5d0}
1904         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1905          result: success
1906              to: A0\u{300}.\u{5d0}
1907--
1908#
1909# Bidicheck test.
1910# Check the bidi rule 6.
1911# The input name is U+0041 U+002B U+0300 "." U+05D0
1912# (bidiclass: L ES NSM . R).
1913#
1914             api: encodename
1915  local_encoding: U-escape
1916            conf:
1917            from: A+\u{300}.\u{5d0}
1918         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1919          result: Bidi check failed
1920              to:
1921--
1922#
1923# Bidicheck test.
1924# Check the bidi rule 6.
1925# The input name is U+0041 U+0025 U+0300 "." U+05D0
1926# (bidiclass: L ET NSM . R).
1927#
1928             api: encodename
1929  local_encoding: U-escape
1930            conf:
1931            from: A%\u{300}.\u{5d0}
1932         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1933          result: Bidi check failed
1934              to:
1935--
1936#
1937# Bidicheck test.
1938# Check the bidi rule 6.
1939# The input name is U+0041 U+002C U+0300 "." U+05D0
1940# (bidiclass: L CS NSM . R).
1941#
1942             api: encodename
1943  local_encoding: U-escape
1944            conf:
1945            from: A,\u{300}.\u{5d0}
1946         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1947          result: Bidi check failed
1948              to:
1949--
1950#
1951# Bidicheck test.
1952# Check the bidi rule 6.
1953# The input name is U+0041 U+070F U+0300 "." U+05D0
1954# (bidiclass: L BN NSM . R).
1955#
1956             api: encodename
1957  local_encoding: U-escape
1958            conf:
1959            from: A\u{1d173}\u{300}.\u{5d0}
1960         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1961          result: Bidi check failed
1962              to:
1963--
1964#
1965# Bidicheck test.
1966# Check the bidi rule 6.
1967# The input name is U+0041 U+002A U+0300 "." U+05D0
1968# (bidiclass: L ON NSM . R).
1969#
1970             api: encodename
1971  local_encoding: U-escape
1972            conf:
1973            from: A*\u{300}.\u{5d0}
1974         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1975          result: Bidi check failed
1976              to:
1977--
1978#
1979# Bidicheck test.
1980# Check the bidi rule 6.
1981# The input name is U+0041 U+0041 U+0300... "." U+05D0
1982# (bidiclass: L L NSM{3} . R).
1983#
1984             api: encodename
1985  local_encoding: U-escape
1986            conf:
1987            from: AA\u{300}\u{300}\u{300}.\u{5d0}
1988         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
1989          result: success
1990              to: AA\u{300}\u{300}\u{300}.\u{5d0}
1991--
1992#
1993# Bidicheck test.
1994# Check the bidi rule 6.
1995# The input name is U+0041 U+0030 U+0300... "." U+05D0
1996# (bidiclass: L EN NSM{3} . R).
1997#
1998             api: encodename
1999  local_encoding: U-escape
2000            conf:
2001            from: A0\u{300}\u{300}\u{300}.\u{5d0}
2002         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2003          result: success
2004              to: A0\u{300}\u{300}\u{300}.\u{5d0}
2005--
2006######################################################################
2007# Special inputs.
2008######################################################################
2009--
2010#
2011# Bidicheck test.
2012# The input name is "..".
2013#
2014             api: encodename
2015  local_encoding: U-escape
2016            conf:
2017            from: ..
2018         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2019          result: success
2020              to: ..
2021--
2022#
2023# Bidicheck test.
2024# The input name is ".".
2025#
2026             api: encodename
2027  local_encoding: U-escape
2028            conf:
2029            from: .
2030         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2031          result: success
2032              to: .
2033--
2034#
2035# Bidicheck test.
2036# The input name is "".
2037#
2038             api: encodename
2039  local_encoding: U-escape
2040            conf:
2041            from:
2042         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2043          result: success
2044              to:
2045--
2046######################################################################
2047# A domain name containing an A-label.
2048#    Convert the A-label to U-label, and then test whether the input
2049#    name is BIDI domain name or not. The order of the processes is
2050#    significant.
2051######################################################################
2052--
2053#
2054# Bidicheck test.
2055# Tests domain names containing an A-label.
2056# The input name is U+0030 U+0061 + "." + U+05D0 (bidiclass: EN L . R).
2057#
2058             api: encodename
2059  local_encoding: U-escape
2060            conf:
2061            from: 0a.xn--4db
2062         actions: IDN_ENCODE_LOOKUP
2063          result: Bidi check failed
2064              to:
2065--
2066#
2067# Bidicheck test.
2068# Tests domain names containing an A-label.
2069# The input name is U+0030 U+00E0 + "." + U+05D0 (bidiclass: EN L . R).
2070#
2071             api: encodename
2072  local_encoding: U-escape
2073            conf:
2074            from: xn--0-sfa.xn--4db
2075         actions: IDN_ENCODE_LOOKUP
2076          result: Bidi check failed
2077              to:
2078--
2079######################################################################
2080# Tests using decodename.
2081######################################################################
2082--
2083#
2084# Bidicheck test.
2085# Tests domain names containing an A-label.
2086# The input name is U+0030 U+0061 + "." + U+05D0 (bidiclass: EN L . R).
2087#
2088             api: decodename
2089  local_encoding: U-escape
2090            conf:
2091            from: 0a.xn--4db
2092         actions: IDN_DECODE_LOOKUP
2093          result: Bidi check failed
2094              to:
2095--
2096#
2097# Bidicheck test.
2098# Tests domain names containing an A-label.
2099# The input name is U+0030 U+00E0 + "." + U+05D0 (bidiclass: EN L . R).
2100#
2101             api: decodename
2102  local_encoding: U-escape
2103            conf:
2104            from: xn--0-sfa.xn--4db
2105         actions: IDN_DECODE_LOOKUP
2106          result: Bidi check failed
2107              to:
2108--
2109#
2110# Bidicheck test.
2111# Tests domain names containing an A-label.
2112# The input name is U+00E0 + "." + U+05D0 (bidiclass: L . R).
2113#
2114             api: decodename
2115  local_encoding: U-escape
2116            conf:
2117            from: \u{e0}.xn--4db
2118         actions: IDN_DECODE_LOOKUP
2119          result: success
2120              to: \u{e0}.\u{5d0}
2121--
2122#
2123# Bidicheck test.
2124# Tests domain names containing an A-label.
2125# The input name is U+00E0 + "." + U+05D0 (bidiclass: L . R).
2126#
2127             api: decodename
2128  local_encoding: U-escape
2129            conf:
2130            from: xn--0ca.xn--4db
2131         actions: IDN_DECODE_LOOKUP
2132          result: success
2133              to: \u{e0}.\u{5d0}
2134--
2135######################################################################
2136# Special inputs to decodename.
2137######################################################################
2138--
2139#
2140# Bidicheck test.
2141# The input name is "..".
2142#
2143             api: decodename
2144  local_encoding: U-escape
2145            conf:
2146            from: ..
2147         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2148          result: success
2149              to: ..
2150--
2151#
2152# Bidicheck test.
2153# The input name is ".".
2154#
2155             api: decodename
2156  local_encoding: U-escape
2157            conf:
2158            from: .
2159         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2160          result: success
2161              to: .
2162--
2163#
2164# Bidicheck test.
2165# The input name is "".
2166#
2167             api: decodename
2168  local_encoding: U-escape
2169            conf:
2170            from:
2171         actions: IDN_UNICODECONV IDN_BIDICHECK IDN_LOCALCONV
2172          result: success
2173              to:
2174--
2175