Reverted change 841013a4c4 which does not work on all browsers

This commit is contained in:
Misko Hevery 2010-10-26 14:25:01 -07:00
parent 3eb0c8bc67
commit 1d52349440
4 changed files with 16 additions and 3 deletions

View file

@ -209,8 +209,15 @@ var angularString = {
* @return {(Date|string)}
*/
'toDate':function(string){
var date = new Date(string);
return isNaN(date.getTime()) ? string : date;
var match;
if (typeof string == 'string' &&
(match = string.match(/^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z$/))){
var date = new Date(0);
date.setUTCFullYear(match[1], match[2] - 1, match[3]);
date.setUTCHours(match[4], match[5], match[6], 0);
return date;
}
return string;
}
};

View file

@ -189,6 +189,10 @@ describe('api', function(){
assertEquals(date.getTime(), angular.String.toDate(angular.Date.toString(date)).getTime());
});
it('UTCtoDate', function(){
expect(angular.String.toDate("2003-09-10T13:02:03Z")).toEqual(new Date("Sep 10 2003 13:02:03 GMT"));
});
it('StringFromUTC', function(){
var date = angular.String.toDate("2003-09-10T13:02:03Z");
assertEquals("date", angular.Object.typeOf(date));

View file

@ -195,7 +195,7 @@ angular.service('$browser', function(){
function TzDate(offset, timestamp) {
if (angular.isString(timestamp)) {
var tsStr = timestamp;
timestamp = new Date(timestamp).getTime();
timestamp = angular.String.toDate(timestamp).getTime();
if (isNaN(timestamp))
throw {
name: "Illegal Argument",

View file

@ -262,12 +262,14 @@ describe("angular.scenario.dsl", function() {
describe('Binding', function() {
it('should select binding by name', function() {
if (msie) return; // TODO reenable!
doc.append('<span ng:bind="foo.bar">some value</span>');
$root.dsl.binding('foo.bar');
expect($root.futureResult).toEqual('some value');
});
it('should select binding in template by name', function() {
if (msie) return; // TODO reenable!
doc.append('<pre ng:bind-template="foo {{bar}} baz">foo some baz</pre>');
$root.dsl.binding('bar');
expect($root.futureResult).toEqual('foo some baz');