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 local check (IDN_LOCALCHECK). 187# 188-- 189# 190# local check test. 191# In a local code point set file, a line consists of a code point (00E1). 192# All code points in the input name are valid. 193# 194 api: encodename 195 local_encoding: U-escape 196 conf: 197 localset: 00E1 198 from: \u{e1}\u{e1} 199 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 200 result: success 201 to: \u{e1}\u{e1} 202-- 203# 204# local check test. 205# In a local code point set file, a line consists of a code point (00E1). 206# The input name contains an invalid code point. 207# 208 api: encodename 209 local_encoding: U-escape 210 conf: 211 localset: 00E1 212 from: \u{e1}\u{e1}\u{e2} 213 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 214 result: local check failed 215 to: 216-- 217# 218# local check test. 219# In a local code point set file, a line consists of a range (00E1..00E3). 220# All code points in the input name are valid. 221# 222 api: encodename 223 local_encoding: U-escape 224 conf: 225 localset: 00E1..00E3 226 from: \u{e1}\u{e2}\u{e3} 227 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 228 result: success 229 to: \u{e1}\u{e2}\u{e3} 230-- 231# 232# local check test. 233# In a local code point set file, a line consists of a range (00E1..00E3). 234# The input name contains an invalid code point U+00E0. 235# 236 api: encodename 237 local_encoding: U-escape 238 conf: 239 localset: 00E1..00E3 240 from: \u{e1}\u{e2}\u{e3}\u{e0} 241 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 242 result: local check failed 243 to: 244-- 245# 246# local check test. 247# In a local code point set file, a line consists of a range (00E1..00E3). 248# The input name contains an invalid code point U+00E4. 249# 250 api: encodename 251 local_encoding: U-escape 252 conf: 253 localset: 00E1..00E3 254 from: \u{e1}\u{e2}\u{e3}\u{e4} 255 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 256 result: local check failed 257 to: 258-- 259# 260# local check test. 261# In a local code point set file, a line consists of a code point (00E1) 262# followed by a semicolon. 263# The input name contains an invalid code point. 264# 265 api: encodename 266 local_encoding: U-escape 267 conf: 268 localset: 00E1; 269 from: \u{e1}\u{e1} 270 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 271 result: success 272 to: \u{e1}\u{e1} 273-- 274# 275# local check test. 276# In a local code point set file, a line consists of a code point (00E1) 277# followed by a semicolon. 278# The input name contains an invalid code point. 279# 280 api: encodename 281 local_encoding: U-escape 282 conf: 283 localset: 00E1; 284 from: \u{e1}\u{e1}\u{e2} 285 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 286 result: local check failed 287 to: 288-- 289# 290# local check test. 291# In a local code point set file, a line consists of a range (00E1..00E3) 292# followed by a semicolon. 293# All code points in the input name are valid. 294# 295 api: encodename 296 local_encoding: U-escape 297 conf: 298 localset: 00E1..00E3; 299 from: \u{e1}\u{e2}\u{e3} 300 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 301 result: success 302 to: \u{e1}\u{e2}\u{e3} 303-- 304# 305# local check test. 306# In a local code point set file, a line consists of a range (00E1..00E3) 307# followed by a semicolon. 308# The input name contains an invalid code point U+00E0. 309# 310 api: encodename 311 local_encoding: U-escape 312 conf: 313 localset: 00E1..00E3; 314 from: \u{e1}\u{e2}\u{e3}\u{e0} 315 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 316 result: local check failed 317 to: 318-- 319# 320# local check test. 321# In a local code point set file, a line consists of a range (00E1..00E3) 322# followed by a semicolon. 323# The input name contains an invalid code point U+00E4. 324# 325 api: encodename 326 local_encoding: U-escape 327 conf: 328 localset: 00E1..00E3; 329 from: \u{e1}\u{e2}\u{e3}\u{e4} 330 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 331 result: local check failed 332 to: 333-- 334# 335# local check test. 336# In a local code point set file, a line consists of a code point (00E1) 337# and an extra field. 338# All code points in the input name are valid. 339# 340 api: encodename 341 local_encoding: U-escape 342 conf: 343 localset: 00E1; yeah 344 from: \u{e1}\u{e1} 345 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 346 result: success 347 to: \u{e1}\u{e1} 348-- 349# 350# local check test. 351# In a local code point set file, a line consists of a code point (00E1) 352# and an extra field. 353# The input name contains an invalid code point. 354# 355 api: encodename 356 local_encoding: U-escape 357 conf: 358 localset: 00E1; yeah 359 from: \u{e1}\u{e1}\u{e2} 360 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 361 result: local check failed 362 to: 363-- 364# 365# local check test. 366# In a local code point set file, a line consists of a range (00E1..00E3) 367# and an extra field. 368# All code points in the input name are valid. 369# 370 api: encodename 371 local_encoding: U-escape 372 conf: 373 localset: 00E1..00E3; yeah 374 from: \u{e1}\u{e2}\u{e3} 375 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 376 result: success 377 to: \u{e1}\u{e2}\u{e3} 378-- 379# 380# local check test. 381# In a local code point set file, a line consists of a range (00E1..00E3) 382# and an extra field. 383# The input name contains an invalid code point U+00E0. 384# 385 api: encodename 386 local_encoding: U-escape 387 conf: 388 localset: 00E1..00E3; yeah 389 from: \u{e1}\u{e2}\u{e3}\u{e0} 390 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 391 result: local check failed 392 to: 393-- 394# 395# local check test. 396# In a local code point set file, a line consists of a range (00E1..00E3) 397# and an extra field. 398# The input name contains an invalid code point U+00E4. 399# 400 api: encodename 401 local_encoding: U-escape 402 conf: 403 localset: 00E1..00E3; yeah 404 from: \u{e1}\u{e2}\u{e3}\u{e4} 405 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 406 result: local check failed 407 to: 408-- 409# 410# local check test. 411# In a local code point set file, a line consists of a code point (00E1) 412# and a comment. 413# All code points in the input name are valid. 414# 415 api: encodename 416 local_encoding: U-escape 417 conf: 418 localset: 00E1 # comment 419 from: \u{e1}\u{e1} 420 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 421 result: success 422 to: \u{e1}\u{e1} 423-- 424# 425# local check test. 426# In a local code point set file, a line consists of a code point (00E1) 427# and a comment. 428# The input name contains an invalid code point. 429# 430 api: encodename 431 local_encoding: U-escape 432 conf: 433 localset: 00E1 # comment 434 from: \u{e1}\u{e1}\u{e2} 435 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 436 result: local check failed 437 to: 438-- 439# 440# local check test. 441# In a local code point set file, a line consists of a range (00E1..00E3) 442# and a comment. 443# All code points in the input name are valid. 444# 445 api: encodename 446 local_encoding: U-escape 447 conf: 448 localset: 00E1..00E3 # comment 449 from: \u{e1}\u{e2}\u{e3} 450 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 451 result: success 452 to: \u{e1}\u{e2}\u{e3} 453-- 454# 455# local check test. 456# In a local code point set file, a line consists of a range (00E1..00E3) 457# and a comment. 458# The input name contains an invalid code point U+00E0. 459# 460 api: encodename 461 local_encoding: U-escape 462 conf: 463 localset: 00E1..00E3 # comment 464 from: \u{e1}\u{e2}\u{e3}\u{e0} 465 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 466 result: local check failed 467 to: 468-- 469# 470# local check test. 471# In a local code point set file, a line consists of a range (00E1..00E3) 472# and a comment. 473# The input name contains an invalid code point U+00E4. 474# 475 api: encodename 476 local_encoding: U-escape 477 conf: 478 localset: 00E1..00E3 # comment 479 from: \u{e1}\u{e2}\u{e3}\u{e4} 480 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 481 result: local check failed 482 to: 483-- 484# 485# local check test. 486# In a local code point set file, a line consists of a code point 487# (E1; no zero prefix). 488# All code points in the input name are valid. 489# 490 api: encodename 491 local_encoding: U-escape 492 conf: 493 localset: E1 494 from: \u{e1}\u{e1} 495 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 496 result: success 497 to: \u{e1}\u{e1} 498-- 499# 500# local check test. 501# In a local code point set file, a line consists of a code point 502# (E1; no zero prefix). 503# The input name contains an invalid code point. 504# 505 api: encodename 506 local_encoding: U-escape 507 conf: 508 localset: E1 509 from: \u{e1}\u{e1}\u{e2} 510 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 511 result: local check failed 512 to: 513-- 514# 515# local check test. 516# In a local code point set file, a line consists of a range 517# (E1..E3; no zero prefixes). 518# All code points in the input name are valid. 519# 520 api: encodename 521 local_encoding: U-escape 522 conf: 523 localset: E1..E3 524 from: \u{e1}\u{e2}\u{e3} 525 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 526 result: success 527 to: \u{e1}\u{e2}\u{e3} 528-- 529# 530# local check test. 531# In a local code point set file, a line consists of a range 532# (E1..E3; no zero prefixes). 533# The input name contains an invalid code point U+00E0. 534# 535 api: encodename 536 local_encoding: U-escape 537 conf: 538 localset: E1..E3 # comment 539 from: \u{e1}\u{e2}\u{e3}\u{e0} 540 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 541 result: local check failed 542 to: 543-- 544# 545# local check test. 546# In a local code point set file, a line consists of a range 547# (E1..E3; no zero prefixes). 548# The input name contains an invalid code point U+00E4. 549# 550 api: encodename 551 local_encoding: U-escape 552 conf: 553 localset: E1..E3 # comment 554 from: \u{e1}\u{e2}\u{e3}\u{e0}\u{e4} 555 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 556 result: local check failed 557 to: 558-- 559# 560# local check test. 561# In a local code point set file, a line consists of a code point 562# (0000E1; extra zero prefixes). 563# All code points in the input name are valid. 564# 565 api: encodename 566 local_encoding: U-escape 567 conf: 568 localset: 0000E1 569 from: \u{e1}\u{e1} 570 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 571 result: success 572 to: \u{e1}\u{e1} 573-- 574# 575# local check test. 576# In a local code point set file, a line consists of a code point 577# (0000E1; extra zero prefixes). 578# The input name contains an invalid code point. 579# 580 api: encodename 581 local_encoding: U-escape 582 conf: 583 localset: 0000E1 584 from: \u{e1}\u{e1}\u{e2} 585 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 586 result: local check failed 587 to: 588-- 589# 590# local check test. 591# In a local code point set file, a line consists of a range 592# (0000E1..0000E3; extra zero prefixes). 593# All code points in the input name are valid. 594# 595 api: encodename 596 local_encoding: U-escape 597 conf: 598 localset: 0000E1..0000E3 599 from: \u{e1}\u{e2}\u{e3} 600 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 601 result: success 602 to: \u{e1}\u{e2}\u{e3} 603-- 604# 605# local check test. 606# In a local code point set file, a line consists of a range 607# (0000E1..0000E3; extra zero prefixes). 608# The input name contains an invalid code point U+00E0. 609# 610 api: encodename 611 local_encoding: U-escape 612 conf: 613 localset: 0000E1..0000E3 # comment 614 from: \u{e1}\u{e2}\u{e3}\u{e0} 615 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 616 result: local check failed 617 to: 618-- 619# 620# local check test. 621# In a local code point set file, a line consists of a range 622# (0000E1..0000E3; extra zero prefixes). 623# The input name contains an invalid code point U+00E4. 624# 625 api: encodename 626 local_encoding: U-escape 627 conf: 628 localset: 0000E1..0000E3 # comment 629 from: \u{e1}\u{e2}\u{e3}\u{e0}\u{e4} 630 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 631 result: local check failed 632 to: 633-- 634# 635# local check test. 636# In a local code point set file, a line consists of a code point 637# (U+00E1; with 'U+' prefix). 638# 639 api: encodename 640 local_encoding: U-escape 641 conf: 642 localset: U+00E1 643 from: \u{e1}\u{e1} 644 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 645 result: success 646 to: \u{e1}\u{e1} 647-- 648# 649# local check test. 650# In a local code point set file, a line consists of a code point 651# (U+00E1; with 'U+' prefix). 652# The input name contains an invalid code point. 653# 654 api: encodename 655 local_encoding: U-escape 656 conf: 657 localset: U+00E1 658 from: \u{e1}\u{e1}\u{e2} 659 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 660 result: local check failed 661 to: 662-- 663# 664# local check test. 665# In a local code point set file, a line consists of a range 666# (U+00E1..U+00E3; with 'U+' prefixes). 667# All code points in the input name are valid. 668# 669 api: encodename 670 local_encoding: U-escape 671 conf: 672 localset: U+00E1..U+00E3 673 from: \u{e1}\u{e2}\u{e3} 674 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 675 result: success 676 to: \u{e1}\u{e2}\u{e3} 677-- 678# 679# local check test. 680# In a local code point set file, a line consists of a range 681# (U+00E1..U+00E3; with 'U+' prefixes). 682# The input name contains an invalid code point U+00E0. 683# 684 api: encodename 685 local_encoding: U-escape 686 conf: 687 localset: U+00E1..U+00E3 688 from: \u{e1}\u{e2}\u{e3}\u{e0} 689 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 690 result: local check failed 691 to: 692-- 693# 694# local check test. 695# In a local code point set file, a line consists of a range 696# (U+00E1..U+00E3; with 'U+' prefixes). 697# The input name contains an invalid code point U+00E4. 698# 699 api: encodename 700 local_encoding: U-escape 701 conf: 702 localset: U+00E1..U+00E3 703 from: \u{e1}\u{e2}\u{e3}\u{e4} 704 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 705 result: local check failed 706 to: 707-- 708# 709# local check test. 710# In a local code point set file, a line consists of a code point 711# (00e1; written in lowercase dists). 712# All code points in the input name are valid. 713# 714 api: encodename 715 local_encoding: U-escape 716 conf: 717 localset: 00e1 718 from: \u{e1}\u{e1} 719 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 720 result: success 721 to: \u{e1}\u{e1} 722-- 723# 724# local check test. 725# In a local code point set file, a line consists of a code point 726# (00e1; written in lowercase dists). 727# The input name contains an invalid code point. 728# 729 api: encodename 730 local_encoding: U-escape 731 conf: 732 localset: 00e1 733 from: \u{e1}\u{e1}\u{e2} 734 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 735 result: local check failed 736 to: 737-- 738# 739# local check test. 740# In a local code point set file, a line consists of a range 741# (00e1..00e3; written in lowercase dists). 742# All code points in the input name are valid. 743# 744 api: encodename 745 local_encoding: U-escape 746 conf: 747 localset: 00e1..00e3 748 from: \u{e1}\u{e2}\u{e3} 749 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 750 result: success 751 to: \u{e1}\u{e2}\u{e3} 752-- 753# 754# local check test. 755# In a local code point set file, a line consists of a range 756# (00e1..00e3; written in lowercase dists). 757# The input name contains an invalid code point U+00E0. 758# 759 api: encodename 760 local_encoding: U-escape 761 conf: 762 localset: 00e1..00e3 763 from: \u{e1}\u{e2}\u{e3}\u{e0} 764 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 765 result: local check failed 766 to: 767-- 768# 769# local check test. 770# In a local code point set file, a line consists of a range 771# (00e1..00e3; written in lowercase dists). 772# The input name contains an invalid code point U+00E4. 773# 774 api: encodename 775 local_encoding: U-escape 776 conf: 777 localset: 00e1..00e3 778 from: \u{e1}\u{e2}\u{e3}\u{e4} 779 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 780 result: local check failed 781 to: 782-- 783# 784# local check test. 785# In a local code point set file, a line consists of a range 786# (START..END), but START is the same as END. 787# All code points in the input name are valid. 788# 789 api: encodename 790 local_encoding: U-escape 791 conf: 792 localset: 00e1..00e1 793 from: \u{e1}\u{e1} 794 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 795 result: success 796 to: \u{e1}\u{e1} 797-- 798# 799# local check test. 800# In a local code point set file, a line consists of a range 801# (START..END), but START = END. 802# The input name contains an invalid code point. 803# 804 api: encodename 805 local_encoding: U-escape 806 conf: 807 localset: 00E1..00E1 808 from: \u{e1}\u{e1}\u{e2} 809 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 810 result: local check failed 811 to: 812-- 813# 814# local check test. 815# In a local code point set file, a line consists of a range 816# (START..END), but START > END. 817# 818 api: encodename 819 local_encoding: U-escape 820 conf: 821 localset: 00E3..00E1 822 from: ABC 823 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 824 result: idn_setlocalcheckfile() ERROR: invalid code point 825 to: 826-- 827# 828# local check test. 829# A line in a local code point set file is malformed. 830# There is no END code point for a range (START..END). 831# 832 api: encodename 833 local_encoding: U-escape 834 conf: 835 localset: 00E1.. 836 from: ABC 837 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 838 result: idn_setlocalcheckfile() ERROR: syntax error 839 to: 840-- 841# 842# local check test. 843# A line in a local code point set file is malformed. 844# There is no START code point for a range (START..END). 845# 846 api: encodename 847 local_encoding: U-escape 848 conf: 849 localset: ..00E3 850 from: ABC 851 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 852 result: idn_setlocalcheckfile() ERROR: syntax error 853 to: 854-- 855# 856# local check test. 857# A line in a local code point set file is malformed. 858# There is no START or END code point for a range (START..END). 859# 860 api: encodename 861 local_encoding: U-escape 862 conf: 863 localset: .. 864 from: ABC 865 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 866 result: idn_setlocalcheckfile() ERROR: syntax error 867 to: 868-- 869# 870# local check test. 871# A line in a local code point set file is malformed. 872# There is only one '.' for a range (START..END). 873# 874 api: encodename 875 local_encoding: U-escape 876 conf: 877 localset: 00E1.00E3 878 from: ABC 879 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 880 result: idn_setlocalcheckfile() ERROR: syntax error 881 to: 882-- 883# 884# local check test. 885# A line in a local code point set file is malformed. 886# There is an extra '.' for a range (START..END). 887# 888 api: encodename 889 local_encoding: U-escape 890 conf: 891 localset: 00E1...00E3 892 from: ABC 893 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 894 result: idn_setlocalcheckfile() ERROR: syntax error 895 to: 896-- 897# 898# local check test. 899# A line in a local code point set file is malformed. 900# The line consists of non-code point field "XXX". 901# 902 api: encodename 903 local_encoding: U-escape 904 conf: 905 localset: XXXX 906 from: ABC 907 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 908 result: idn_setlocalcheckfile() ERROR: syntax error 909 to: 910-- 911# 912# local check test. 913# A line in a local code point set file consists of a range (START..END), 914# but END is "XXXX". 915# 916 api: encodename 917 local_encoding: U-escape 918 conf: 919 localset: 00E1..XXXX 920 from: ABC 921 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 922 result: idn_setlocalcheckfile() ERROR: syntax error 923 to: 924-- 925# 926# local check test. 927# A line in a local code point set file consists of a range (START..END), 928# but START is "XXXX". 929# 930 api: encodename 931 local_encoding: U-escape 932 conf: 933 localset: XXXX..00E3 934 from: ABC 935 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 936 result: idn_setlocalcheckfile() ERROR: syntax error 937 to: 938-- 939# 940# local check test. 941# A line in a local code point set file consists of a range (START..END), 942# but a whitespace is inserted between START and "..". 943# 944 api: encodename 945 local_encoding: U-escape 946 conf: 947 localset: 00E1 ..00E3 948 from: ABC 949 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 950 result: idn_setlocalcheckfile() ERROR: syntax error 951 to: 952-- 953# 954# local check test. 955# A line in a local code point set file consists of a range (START..END), 956# but a whitespace is inserted between ".." and END. 957# 958 api: encodename 959 local_encoding: U-escape 960 conf: 961 localset: 00E1.. 00E3 962 from: ABC 963 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 964 result: idn_setlocalcheckfile() ERROR: syntax error 965 to: 966-- 967# 968# local check test. 969# 970# A line in a local code point set file consists of a range (START..END), 971# but some whitespaces are inserted among START and END. 972# 973 api: encodename 974 local_encoding: U-escape 975 conf: 976 localset: 00E1 .. 00E3 977 from: ABC 978 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 979 result: idn_setlocalcheckfile() ERROR: syntax error 980 to: 981-- 982# 983# local check test. 984# A line in a local code point set file consists of a code point U+10FFFF. 985# 986 api: encodename 987 local_encoding: U-escape 988 conf: 989 localset: 10FFFF 990 from: \u{10ffff} 991 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 992 result: success 993 to: \u{10ffff} 994-- 995# 996# local check test. 997# A line in a local code point set file consists of a code point U+110000. 998# 999 api: encodename 1000 local_encoding: U-escape 1001 conf: 1002 localset: 110000 1003 from: \u{110000} 1004 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1005 result: idn_setlocalcheckfile() ERROR: invalid code point 1006 to: 1007-- 1008# 1009# local check test. 1010# A line in a local code point set file consists of a range (0000..10FFFF). 1011# 1012 api: encodename 1013 local_encoding: U-escape 1014 conf: 1015 localset: 0000..10FFFF 1016 from: \u{10ffff} 1017 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1018 result: success 1019 to: \u{10ffff} 1020-- 1021# 1022# local check test. 1023# A line in a local code point set file consists of a range (10FFFF..110000). 1024# 1025 api: encodename 1026 local_encoding: U-escape 1027 conf: 1028 localset: 10FFFF..110000 1029 from: \u{10ffff} 1030 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1031 result: idn_setlocalcheckfile() ERROR: invalid code point 1032 to: 1033-- 1034# 1035# local check test. 1036# A line in a local code point set file consists of a range (110000..110001). 1037# 1038 api: encodename 1039 local_encoding: U-escape 1040 conf: 1041 localset: 110000..110001 1042 from: \u{110000} 1043 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1044 result: idn_setlocalcheckfile() ERROR: invalid code point 1045 to: 1046-- 1047# 1048# local check test. 1049# There is a comment line in a local code point set file. 1050# 1051 api: encodename 1052 local_encoding: U-escape 1053 conf: 1054 localset: # 1055 localset: 00E1 1056 from: \u{e1}\u{e1} 1057 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1058 result: success 1059 to: \u{e1}\u{e1} 1060-- 1061# 1062# local check test. 1063# There is an empty line in a local code point set file. 1064# 1065 api: encodename 1066 local_encoding: U-escape 1067 conf: 1068 localset: 1069 localset: 00E1 1070 from: \u{e1}\u{e1} 1071 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1072 result: success 1073 to: \u{e1}\u{e1} 1074-- 1075# 1076# local check test. 1077# The input name is "" and also the code point set file has no definition. 1078# 1079 api: encodename 1080 local_encoding: U-escape 1081 conf: 1082 localset: 1083 from: 1084 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1085 result: success 1086 to: 1087-- 1088# 1089# local check test. 1090# The input name is "". 1091# 1092 api: encodename 1093 local_encoding: U-escape 1094 conf: 1095 localset: 00E1 1096 localset: 00E2 1097 from: 1098 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1099 result: success 1100 to: 1101-- 1102# 1103# local check test. 1104# The local check file doesn't exist. 1105# The local check file is removed by 'post_setup'. 1106# 1107 api: encodename 1108 local_encoding: U-escape 1109 conf: 1110 localset: 1111 post_setup: rm -f @LOCALSET_FILE@ 1112 from: \u{e1}\u{e2} 1113 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1114 result: idn_setlocalcheckfile() ERROR: no such file 1115 to: 1116-- 1117# 1118# local check test. 1119# The last line in the local check file doesn't ends with newline. 1120# 1121 api: encodename 1122 local_encoding: U-escape 1123 conf: 1124 localset: 1125 post_setup: cp $SRCDIR/no-newline.set @LOCALSET_FILE@ 1126 from: \u{e1}\u{e2}\u{e3} 1127 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1128 result: success 1129 to: \u{e1}\u{e2}\u{e3} 1130-- 1131# 1132# local check test. 1133# Too long line in a local code point set file. 1134# 1135 api: encodename 1136 local_encoding: U-escape 1137 conf: 1138 localset: # **************************************************************************************************************************************************************************************************************************************************************************************************************************** 1139 from: ABC 1140 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1141 result: idn_setlocalcheckfile() ERROR: syntax error 1142 to: 1143-- 1144# 1145# local check test. 1146# No code point set file is specified. 1147# 1148 api: encodename 1149 local_encoding: U-escape 1150 conf: 1151 from: ABC 1152 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1153 result: success 1154 to: ABC 1155-- 1156###################################################################### 1157# Tests using decodename. 1158###################################################################### 1159-- 1160# 1161# local check test. 1162# All code points in an input name are valid. 1163# 1164 api: decodename 1165 local_encoding: U-escape 1166 conf: 1167 localset: 00E1 1168 localset: 00E2 1169 from: \u{e1}\u{e2} 1170 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1171 result: success 1172 to: \u{e1}\u{e2} 1173-- 1174# 1175# local check test. 1176# A code point in an input name is not valid. 1177# 1178 api: decodename 1179 local_encoding: U-escape 1180 conf: 1181 localset: 00E1 1182 localset: 00E2 1183 from: \u{e0}\u{e1}\u{e2} 1184 actions: IDN_UNICODECONV IDN_LOCALCHECK IDN_LOCALCONV 1185 result: local check failed 1186 to: 1187-- 1188