tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

u-case-mapping.js (1401B)


      1 // Copyright (C) 2015 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 description: Case mapping of astral symbols
      6 es6id: 21.2.2.8.2
      7 info: |
      8    21.2.2.8.2 Runtime Semantics: Canonicalize ( ch )
      9 
     10    The abstract operation Canonicalize takes a character parameter ch and
     11    performs the following steps:
     12 
     13        1. If IgnoreCase is false, return ch.
     14        2. If Unicode is true,
     15           a. If the file CaseFolding.txt of the Unicode Character Database
     16              provides a simple or common case folding mapping for ch, return
     17              the result of applying that mapping to ch.
     18           b. Else, return ch.
     19 ---*/
     20 
     21 assert.sameValue(
     22  /\u212a/i.test('k'),
     23  false,
     24  'Case mapping is not applied in the absence of the `u` flag'
     25 );
     26 assert.sameValue(
     27  /\u212a/i.test('K'),
     28  false,
     29  'Case mapping is not applied in the absence of the `u` flag'
     30 );
     31 assert.sameValue(
     32  /\u212a/u.test('k'),
     33  false,
     34  'Case mapping is not applied in the absence of the `i` flag'
     35 );
     36 assert.sameValue(
     37  /\u212a/u.test('K'),
     38  false,
     39  'Case mapping is not applied in the absence of the `i` flag'
     40 );
     41 
     42 assert(
     43  /\u212a/iu.test('k'),
     44  'Case mapping is applied in the presence of the `i` and `u` flags'
     45 );
     46 assert(
     47  /\u212a/iu.test('K'),
     48  'Case mapping is applied in the presence of the `i` and `u` flags'
     49 );
     50 
     51 reportCompare(0, 0);