// Copyright 2011-2012 Norbert Lindenberg. All rights reserved. // Copyright 2012 Mozilla Corporation. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /** * @description Tests that Intl.DateTimeFormat can be subclassed. * @author Norbert Lindenberg */ $INCLUDE("testIntl.js"); // get a date-time format and have it format an array of dates for comparison with the subclass var locales = ["tlh", "id", "en"]; var a = [new Date(0), Date.now(), new Date(Date.parse("1989-11-09T17:57:00Z"))]; var referenceDateTimeFormat = new Intl.DateTimeFormat(locales); var referenceFormatted = a.map(referenceDateTimeFormat.format); function MyDateTimeFormat(locales, options) { Intl.DateTimeFormat.call(this, locales, options); // could initialize MyDateTimeFormat properties } MyDateTimeFormat.prototype = Object.create(Intl.DateTimeFormat.prototype); MyDateTimeFormat.prototype.constructor = MyDateTimeFormat; // could add methods to MyDateTimeFormat.prototype var format = new MyDateTimeFormat(locales); var actual = a.map(format.format); testArraysAreSame(referenceFormatted, actual);