tor-browser

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

S11.8.1_A4.12_T1.js (1851B)


      1 // Copyright 2009 the Sputnik authors.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 info: |
      6    If neither x, nor y is a prefix of each other, returned result of strings
      7    comparison applies a simple lexicographic ordering to the sequences of
      8    code unit value values
      9 es5id: 11.8.1_A4.12_T1
     10 description: x and y are string primitives
     11 ---*/
     12 
     13 //CHECK#1
     14 if (("xx" < "xy") !== true) {
     15  throw new Test262Error('#1: ("xx" < "xy") === true');
     16 }
     17 
     18 //CHECK#2
     19 if (("xy" < "xx") !== false) {
     20  throw new Test262Error('#2: ("xy" < "xx") === false');
     21 }
     22 
     23 //CHECK#3
     24 if (("x" < "y") !== true) {
     25  throw new Test262Error('#3: ("x" < y") === true');
     26 }
     27 
     28 //CHECK#4
     29 if (("aab" < "aba") !== true) {
     30  throw new Test262Error('#4: ("aab" < aba") === true');
     31 }
     32 
     33 //CHECK#5
     34 if (("\u0061\u0061\u0061\u0062" < "\u0061\u0061\u0061\u0061") !== false) {
     35  throw new Test262Error('#5: ("\\u0061\\u0061\\u0061\\u0062" < \\u0061\\u0061\\u0061\\u0061") === false');
     36 }
     37 
     38 //CHECK#6
     39 if (("a\u0000a" < "a\u0000b") !== true) {
     40  throw new Test262Error('#6: ("a\\u0000a" < "a\\u0000b") === true');
     41 }
     42 
     43 //CHECK#7
     44 if (("aB" < "aa") !== true) {
     45  throw new Test262Error('#7: ("aB" < aa") === true');
     46 }
     47 
     48 //CHECK#8
     49 if (("\uD7FF" < "\u{10000}") !== true) {
     50  throw new Test262Error('#8: ("\\uD7FF" < "\\u{10000}") === true');
     51 }
     52 
     53 //CHECK#9
     54 if (("\uD800" < "\uDC00") !== true) {
     55  throw new Test262Error('#9: ("\\uD800" < "\\uDC00") === true');
     56 }
     57 
     58 //CHECK#10
     59 // String comparison is done by code units, rather than by code points.
     60 // "\u{10000}" is equivalent to "\uD800\uDC00"
     61 if (("\u{10000}" < "\uFFFF") !== true) {
     62  throw new Test262Error('#10: ("\\u{10000}" < "\\uFFFF") === true');
     63 }
     64 
     65 //CHECK#11
     66 if (("\u{10000}" < "\u{12345}") !== true) {
     67  throw new Test262Error('#11: ("\\u{10000}" < "\\u{12345}") === true');
     68 }
     69 
     70 reportCompare(0, 0);