chrisdickinson / plate

a javascript template library, aimed at being compatible with django's template language.
183 stars 16 forks source link

Object has no method 'isDST' #6

Closed toastdriven closed 12 years ago

toastdriven commented 12 years ago

With latest Plate (SHA: e2803c737b0f72120c4480d433d65e4fbafc495c), doing make browsertest yields three errors:

TypeError: Object Thu Jan 19 2012 22:53:24 GMT-0600 (CST) has no method 'isDST'======
    file "./lib/utils.js" line 269, char 20, in Formatter.I:
     proto.I = function() {
       // '1' if Daylight Savings Time, '0' otherwise.
    >  return this.data.isDST() ? '1' : '0'
     }

    file "./lib/utils.js" line 128, char 24, in Formatter.format:
           esc = true
         } else if(this[bit]) {
    >      out.push(this[bit]())
         } else {
           out.push(bit)
    file "./lib/utils.js" line 428, char 13, in Object.format:
     function format(value, format_string) {
       var df = new DateFormat(value)
    >  return df.format(format_string)
     }

    file "./tests/utils.js" line 52, char 27, in Object.<anonymous>:
         var format    = strtoarr("aAbcdDEfFgGhHiIjlLmMnNOPrsStTUuwWyYzZ")
           , datetime  = new Date
    >      , result    = utils.format(datetime, format.join('\n'))
           , formatter = new utils.DateFormat(datetime)

    file "./node_modules/platoon/lib/platoon.js" line 59, char 21, in [object Object].execute:
                 };
             try {
    >            self.fn.apply(self.against, [self]);
             } catch(err) {
                 if(err !== Fail)
    file "./node_modules/platoon/lib/platoon.js" line 215, char 34, in <anonymous>:
                     self.setUp(function() {
                         var assertionSet = new AssertionSet(self.getDocString(currentFunction), currentFunction, against);
    >                    assertionSet.execute(function() {
                             self.tearDown(function() {
                                 assertionSets.push(assertionSet);
    file "./node_modules/platoon/lib/platoon.js" line 15, char 46, in [object Object].setUp:
         var TestCase = function(name, setup, teardown, testFns) {
             this.name = name;
    >        this.setUp = setup || function(cb) { cb() };
             this.tearDown = teardown || function(cb) { cb() };
             this.testFns = testFns;
    file "./node_modules/platoon/lib/platoon.js" line 213, char 22, in <anonymous>:
                         return;
                     }
    >                self.setUp(function() {
                         var assertionSet = new AssertionSet(self.getDocString(currentFunction), currentFunction, against);
                         assertionSet.execute(function() {
    file "./node_modules/platoon/lib/platoon.js" line 230, char 9, in [object Object].runTests:
                     }
                 };
    >        recurseTests();
             setTimeout(timeoutFunction, 0);
         };
    file "./node_modules/platoon/lib/testrunner.js" line 135, char 16, in <anonymous>:
       var create_test = function(instance) {
         var ret = function(ready) {
    >      instance.runTests({}, ready);
         };
         ret.instance = instance;

=====================================
TestFormatMethods:

TypeError: Object Mon Feb 01 2010 18:03:59 GMT-0600 (CST) has no method 'isDST'TypeError: Object Mon Feb 01 2010 18:03:59 GMT-0600 (CST) has no method 'isDST'
    at Formatter.I (/Volumes/Media/Users/daniel/Desktop/plate/lib/utils.js:269:20)
    at /Volumes/Media/Users/daniel/Desktop/plate/tests/utils.js:35:30
    at eval at make_format_equiv (/Volumes/Media/Users/daniel/Desktop/plate/tests/utils.js:28:10)
    at Object.<anonymous> (native)
    at [object Object].execute (/Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:59:21)
    at /Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:215:34
    at [object Object].setUp (/Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:15:46)
    at /Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:213:22
    at /Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:218:29
    at [object Object].tearDown (/Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:16:52)
=====================================
TestFormatMethods:

TypeError: Object Wed Sep 01 2010 18:03:59 GMT-0500 (CDT) has no method 'isDST'TypeError: Object Wed Sep 01 2010 18:03:59 GMT-0500 (CDT) has no method 'isDST'
    at Formatter.I (/Volumes/Media/Users/daniel/Desktop/plate/lib/utils.js:269:20)
    at /Volumes/Media/Users/daniel/Desktop/plate/tests/utils.js:35:30
    at eval at make_format_equiv (/Volumes/Media/Users/daniel/Desktop/plate/tests/utils.js:28:10)
    at Object.<anonymous> (native)
    at [object Object].execute (/Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:59:21)
    at /Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:215:34
    at [object Object].setUp (/Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:15:46)
    at /Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:213:22
    at /Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:218:29
    at [object Object].tearDown (/Volumes/Media/Users/daniel/Desktop/plate/node_modules/platoon/lib/platoon.js:16:52)
chrisdickinson commented 12 years ago

Iiiiinteresting. Did you run npm install first? It should pick up the isDST and tzinfo addons for plate. Lemme know if that alleviates the error.

toastdriven commented 12 years ago

Doing an npm install first made it work. Apologies.