tor-browser

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

15.9.5.6.js (3243B)


      1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 
      7 /**
      8   File Name:          15.9.5.6.js
      9   ECMA Section: 15.9.5.6 Date.prototype.toLocaleDateString()
     10   Description:
     11   This function returns a string value. The contents of the string are
     12   implementation dependent, but are intended to represent the "date"
     13   portion of the Date in the current time zone in a convenient,
     14   human-readable form.   We can't test the content of the string, 
     15   but can verify that the string is parsable by Date.parse
     16 
     17   The toLocaleDateString function is not generic; it generates a runtime error
     18   if its 'this' value is not a Date object. Therefore it cannot be transferred
     19   to other kinds of objects for use as a method.
     20 
     21   Note: This test isn't supposed to work with a non-English locale per spec.
     22 
     23   Author:  pschwartau@netscape.com
     24   Date:      14 november 2000
     25 */
     26 
     27 var SECTION = "15.9.5.6";
     28 var TITLE   = "Date.prototype.toLocaleDateString()"; 
     29 
     30 var status = '';
     31 var actual = ''; 
     32 var expect = '';
     33 
     34 
     35 writeHeaderToLog( SECTION + " "+ TITLE);
     36 
     37 var now = new Date();
     38 
     39 // first, some generic tests -
     40 
     41 status = "typeof (now.toLocaleDateString())"; 
     42 actual =   typeof (now.toLocaleDateString());
     43 expect = "string";
     44 addTestCase();
     45 
     46 status = "Date.prototype.toLocaleDateString.length";  
     47 actual =  Date.prototype.toLocaleDateString.length;
     48 expect =  0;  
     49 addTestCase();
     50 
     51 /* Date.parse is accurate to the second;  valueOf() to the millisecond.
     52   Here we expect them to coincide, as we expect a time of exactly midnight -  */
     53 status = "(Date.parse(now.toLocaleDateString('en-US')) - (midnight(now)).valueOf()) == 0";
     54 actual =   (Date.parse(now.toLocaleDateString('en-US')) - (midnight(now)).valueOf()) == 0;
     55 expect = true;
     56 addTestCase();
     57 
     58 
     59 
     60 // 1970
     61 addDateTestCase(0);
     62 addDateTestCase(TZ_ADJUST);  
     63 
     64  
     65 // 1900
     66 addDateTestCase(UTC_01_JAN_1900);
     67 addDateTestCase(UTC_01_JAN_1900 - TZ_ADJUST);
     68 
     69  
     70 // 2000
     71 addDateTestCase(UTC_01_JAN_2000);
     72 addDateTestCase(UTC_01_JAN_2000 - TZ_ADJUST);
     73 
     74   
     75 // 29 Feb 2000
     76 addDateTestCase(UTC_29_FEB_2000);
     77 addDateTestCase(UTC_29_FEB_2000 - 1000);   
     78 addDateTestCase(UTC_29_FEB_2000 - TZ_ADJUST);
     79 
     80 
     81 // 2005
     82 addDateTestCase(UTC_01_JAN_2005);
     83 addDateTestCase(UTC_01_JAN_2005 - 1000);
     84 addDateTestCase(UTC_01_JAN_2005 - TZ_ADJUST);
     85  
     86 
     87 
     88 //-----------------------------------------------------------------------------------------------------
     89 test();
     90 //-----------------------------------------------------------------------------------------------------
     91 
     92 
     93 function addTestCase()
     94 {
     95  new TestCase(
     96    status,
     97    expect,
     98    actual);
     99 }
    100 
    101 
    102 function addDateTestCase(date_given_in_milliseconds)
    103 {
    104  var givenDate = new Date(date_given_in_milliseconds);
    105 
    106  status = 'Date.parse('   +   givenDate   +   ').toLocaleDateString("en-US"))';
    107  actual =  Date.parse(givenDate.toLocaleDateString("en-US"));
    108  expect = Date.parse(midnight(givenDate));
    109  addTestCase();
    110 }
    111 
    112 
    113 function midnight(givenDate)
    114 {
    115  // midnight on the given date -
    116  return new Date(givenDate.getFullYear(), givenDate.getMonth(), givenDate.getDate());
    117 }