mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-03 21:24:30 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright 2012 Mozilla Corporation. All rights reserved.
 | 
						|
// This code is governed by the BSD license found in the LICENSE file.
 | 
						|
 | 
						|
/*---
 | 
						|
es5id: 6.4_c
 | 
						|
description: >
 | 
						|
    Tests that additional time zone names, if accepted, are handled
 | 
						|
    correctly.
 | 
						|
author: Norbert Lindenberg
 | 
						|
---*/
 | 
						|
 | 
						|
// canonicalization specified in conformance clause
 | 
						|
var additionalTimeZoneNames = {
 | 
						|
    "Etc/GMT": "UTC",
 | 
						|
    "Greenwich": "UTC",
 | 
						|
    "PRC": "Asia/Shanghai",
 | 
						|
    "AmErIcA/LoS_aNgElEs": "America/Los_Angeles",
 | 
						|
    "etc/gmt+7": "Etc/GMT+7"
 | 
						|
};
 | 
						|
 | 
						|
Object.getOwnPropertyNames(additionalTimeZoneNames).forEach(function (name) {
 | 
						|
    var format, error;
 | 
						|
    try {
 | 
						|
        format = new Intl.DateTimeFormat([], {timeZone: name});
 | 
						|
    } catch (e) {
 | 
						|
        error = e;
 | 
						|
    }
 | 
						|
    if (error === undefined) {
 | 
						|
        var actual = format.resolvedOptions().timeZone;
 | 
						|
        var expected = additionalTimeZoneNames[name];
 | 
						|
        assert.sameValue(actual, expected, "Time zone name " + name + " was accepted, but incorrectly canonicalized.");
 | 
						|
    } else {
 | 
						|
        assert(error instanceof RangeError, "Time zone name " + name + " was rejected with wrong error " + error.name + ".");
 | 
						|
    }
 | 
						|
});
 |