New Stories not appearing in Safari, but do appear in Firefox.

29 views
Skip to first unread message

dvand5

unread,
Sep 6, 2011, 9:22:29 PM9/6/11
to Fulcrum, dva...@me.com
Finally got Fulcrum up and running in Lion OS X 10.7.1

New to Git and Ruby, but was able to find the right resources to get
it setup and installed. One thing, I would like to mention...you
might like to indicate that XCode installation is needed to get the
bundles installed and the database setup. Without it, I continually
received errors in Terminal.

BUG TO REPORT

Also, to note, when running Fulcrum in Safari 5.1, I would added new
stories to a project, but they would not appear in the project page
(even after a reload of the page).

I noticed that there was a JSON fix for Safari, so I tried it in
Firefox 6.0.1 and those stories were there. Just not appearing in
Safari.

Thx. David v.

malclocke

unread,
Sep 6, 2011, 9:48:44 PM9/6/11
to Fulcrum
Hi David,

Thanks for taking the time to try the project out. Can you tell me
the result of the following when run from a terminal in the top level
of the project:

$ git rev-parse HEAD

Just want to check what version of the project you are using. Also,
if you get the chance, could you run the following:

$ rake jasmine

And point your browser at http://localhost:8888/. This will run the
Javascript test suite, if you can let me know if there are any
failures reported that would be great.

Thanks,

Malc

roovo

unread,
Sep 8, 2011, 3:00:10 AM9/8/11
to Fulcrum
Hiya Malc

just to add my experiences into the mix.....

Things are now working fine for me in both safari (v 5.1) and firefox
(v3.6.19) on my mac - all stories seem to be visible - thanks for
whatever happened :)

However I'm still getting some jasmine errors, so....

>   $ git rev-parse HEAD

bfb78b164dd1677ce7495f7a4c894efa49f48b7d

>   $ rake jasmine

[Safari]
86 specs, 8 failures in 0.236sFinished at Thu Sep 08 2011 07:42:44 GMT
+0100 (BST)
run Project model
run iterations
run should return the date for an iteration number
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).

I can't see how to get any more info out of the jasmine report page
than this :(

[firefox]

see: https://gist.github.com/1202819

HTH - and am trying fulcrum for a little side project and it's working
quite nicely so far - thanks!!

roovo

malclocke

unread,
Sep 8, 2011, 4:23:00 AM9/8/11
to Fulcrum
Thanks Roovo,

OK, you're working off the current development head, so we still have
an issue.

Kale, are you following this? Any chance you can have a look at this
is Safari and see if it's anything obvious?

Malc

dvand5

unread,
Sep 8, 2011, 2:29:55 PM9/8/11
to Fulcrum, david van der Steen
Hope this helps. If you see something that isn;t right, or if you
need further details, let me know.
For Step 3, getting different results in Safari than I get in Firefox.


cmd 1 gives: bfb78b164dd1677ce7495f7a4c894efa49f48b7d
(after changing to the 'fulcrum' directory, is that where you meant
for 'top level of the project')

cmd 2 gives: Could not find chunky_png-1.2.0 in any of the sources
Run `bundle install` to install missing gems.

RAN 'bundle install' : This installed the following...besides seeing
the other gems.

Installing chunky_png (1.2.0)
Installing fssm (0.2.7)
Installing sass (3.1.5)
Installing compass (0.11.5)

cmd 2 second run gives:

NOTE: Gem.available? is deprecated, use Specification::find_by_name.
It will be removed on or after 2011-11-01.
Gem.available? called from /Library/Ruby/Gems/1.8/gems/jasmine-1.0.2.1/
lib/jasmine/base.rb:64.
your tests are here:
http://localhost:8888/
[2011-09-08 14:17:52] INFO WEBrick 1.3.1
[2011-09-08 14:17:52] INFO ruby 1.8.7 (2010-01-10) [universal-
darwin11.0]
[2011-09-08 14:17:52] INFO WEBrick::HTTPServer#start: pid=43642
port=8888

JAVASCRIPT TEST (in Safari) reported:

Jasmine1.1.0 revision 1304737707
Show passed skipped
run all86 specs, 8 failures in 0.233sFinished at Thu Sep 08 2011
14:18:47 GMT-0400 (EDT)
runProject model
runiterations
runshould return the date for an iteration number
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).
Expected Date(Invalid Date) to equal Date(Invalid Date).


JAVASCRIPT TEST (in FireFox) reported:

Jasmine1.1.0 revision 1304737707
Show passed skipped
run all86 specs, 8 failures in 0.245sFinished at Thu Sep 08 2011
14:23:35 GMT-0400 (EDT)
runProject model
runiterations
runshould return the date for an iteration number

Expected Date(Mon Jul 18 2011 20:00:00 GMT-0400 (EDT)) to equal
Date(Sun Jul 24 2011 20:00:00 GMT-0400 (EDT)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:172 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Mon Aug 15 2011 20:00:00 GMT-0400 (EDT)) to equal
Date(Sun Aug 21 2011 20:00:00 GMT-0400 (EDT)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:173 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Mon Jul 18 2011 20:00:00 GMT-0400 (EDT)) to equal
Date(Sun Jul 24 2011 20:00:00 GMT-0400 (EDT)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:176 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Mon Nov 07 2011 20:00:00 GMT-0500 (EST)) to equal
Date(Sun Nov 13 2011 19:00:00 GMT-0500 (EST)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:177 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Sun Jul 24 2011 20:00:00 GMT-0400 (EDT)) to equal
Date(Sat Jul 23 2011 20:00:00 GMT-0400 (EDT)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:181 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Sun Nov 13 2011 20:00:00 GMT-0500 (EST)) to equal
Date(Sat Nov 12 2011 19:00:00 GMT-0500 (EST)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:182 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Tue Jul 19 2011 20:00:00 GMT-0400 (EDT)) to equal
Date(Mon Jul 18 2011 20:00:00 GMT-0400 (EDT)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:187 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0

Expected Date(Tue Nov 08 2011 20:00:00 GMT-0500 (EST)) to equal
Date(Mon Nov 07 2011 19:00:00 GMT-0500 (EST)).

([object Object])@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:102 ([object Date])@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:1162 ()@http://localhost:8888/__spec__/models/
project.spec.js:188 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE
&& calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:987 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {spec.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2038 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ((function () {self.finish(onComplete);}))@http://
localhost:8888/__JASMINE_ROOT__/lib/jasmine.js:1712 ((function () {if
(jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously)
{completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2183 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1759 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2140 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2184 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1755 ((function () {if (jasmine.Queue.LOOP_DONT_RECURSE &&
calledSynchronously) {completedSynchronously = true;return;}if
(self.blocks[self.index].abort) {self.abort = true;}self.offset =
0;self.index++;var now = (new Date).getTime();if
(self.env.updateInterval && now - self.env.lastUpdate >
self.env.updateInterval) {self.env.lastUpdate =
now;self.env.setTimeout(function () {self.next_();}, 0);} else {if
(jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {goAgain =
true;} else {self.next_();}}}))@http://localhost:8888/__JASMINE_ROOT__/
lib/jasmine.js:2012 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:2039 ()@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1769 (35)@http://localhost:8888/__JASMINE_ROOT__/lib/
jasmine.js:1749 @:0



On Sep 6, 9:48 pm, malclocke <m...@wholemeal.co.nz> wrote:
> Hi David,
>
> Thanks for taking the time to try the project out.  Can you tell me
> the result of the following when run from a terminal in the top level
> of the project:
>
>   $ git rev-parse HEAD
>
> Just want to check what version of the project you are using.  Also,
> if you get the chance, could you run the following:
>
>   $ rake jasmine
>
> And point your browser athttp://localhost:8888/.  This will run the

malclocke

unread,
Sep 9, 2011, 6:45:04 AM9/9/11
to Fulcrum
OK, thanks for these reports. I've just pushed some changes which
should fix the Jasmine tests on Safari and Firefox, if any Safari user
fancy doing the git pull ; rake jasmine dance to confirm they are
working that would be great ...

HOWEVER ....

I don't think this is related to the stories not appearing. dvand5,
could you open the Safari error console when trying to add stories and
see if it reports any errors? Apparently it's under 'Show Error
Console' under the 'Develop' menu:

http://developer.apple.com/library/safari/#documentation/appleapplications/Conceptual/Safari_Developer_Guide/PrototypingYourWebsite/PrototypingYourWebsite.html#//apple_ref/doc/uid/TP40007874-CH7-SW2

Malc
> now;self.env.setTimeout(function () {self.next_();}, 0);} else {if ...
>
> read more »

dvand5

unread,
Sep 10, 2011, 10:33:19 AM9/10/11
to Fulcrum
Malc,

Seeing this error in Safari when opening the project site:

underscore.js:416 RangeError: Array size is not a small enough
positive integer.

See it again, twice, when adding a new story.

Error appears after line 416:

var len = Math.max(Math.ceil((stop - start) / step), 0);
var idx = 0;
var range = new Array(len);

underscore.js:416RangeError: Array size is not a small enough positive
integer.

while(idx < len) {
range[idx++] = start;
start += step;
}

Let me know if you need further details.

Dv.



On Sep 9, 6:45 am, malclocke <m...@wholemeal.co.nz> wrote:
> OK, thanks for these reports.  I've just pushed some changes which
> should fix the Jasmine tests on Safari and Firefox, if any Safari user
> fancy doing the git pull ; rake jasmine dance to confirm they are
> working that would be great ...
>
> HOWEVER ....
>
> I don't think this is related to the stories not appearing.  dvand5,
> could you open the Safari error console when trying to add stories and
> see if it reports any errors?  Apparently it's under 'Show Error
> Console' under the 'Develop' menu:
>
> http://developer.apple.com/library/safari/#documentation/appleapplica...

dvand5

unread,
Sep 10, 2011, 11:12:15 AM9/10/11
to Fulcrum
Malc,

Did the 'git pull' and rake. Jasmine no longer reporting any errors.

However, now when I go back into Safari and Firefox, it shows that the
SCREENS.CSS is missing.
http://localhost:3000/stylesheets/screen.css 404 (Not Found)

Let me know if I did some thing incorrectly. And, if I can copy the
proper CSS from another location and where I need to copy it to.

Cheers. David v.

the PULL log shows:

$ git pull
remote: Counting objects: 323, done.
remote: Compressing objects: 100% (106/106), done.
remote: Total 275 (delta 171), reused 255 (delta 154)
Receiving objects: 100% (275/275), 60.41 KiB, done.
Resolving deltas: 100% (171/171), completed with 31 local objects.
From git://github.com/malclocke/fulcrum
c42db14..e610928 master -> origin/master
Updating c42db14..e610928
Fast-forward
.gitignore | 2 +
.travis.yml | 5 +-
Gemfile | 9 +
Gemfile.lock | 8 +
README.md | 47 ++-
app/controllers/confirmations_controller.rb | 14 +
app/models/project.rb | 6 +-
app/models/user.rb | 8 +-
.../stylesheets/_jquery_gritter.scss | 0
.../scaffold.css => app/stylesheets/_scaffold.scss | 0
app/stylesheets/screen.scss | 364 +++++++++++
+
app/views/layouts/application.html.erb | 21 +-
app/views/projects/index.html.erb | 12 +-
app/views/projects/show.html.erb | 2 +-
config/compass.rb | 25 +
config/database.yml | 22 -
config/database.yml.example | 74 +++
config/environments/development.rb | 1 +
config/initializers/compass.rb | 8 +
config/initializers/devise.rb | 2 +-
config/initializers/fulcrum.rb | 1 +
config/initializers/sendgrid.rb | 11 +
config/routes.rb | 2 +-
lib/tasks/fulcrum.rake | 13 +
public/javascripts/backbone.js | 533 ++++++++++
+------
public/javascripts/collections/story_collection.js | 1 +
public/javascripts/models/iteration.js | 49 ++
public/javascripts/models/project.js | 55 ++-
public/javascripts/views/app_view.js | 124 +++-
public/javascripts/views/story_view.js | 4 +-
public/project.show.html | 71 ---
public/stylesheets/fulcrum.css | 406
-------------
.../collections/story_collection.spec.js | 8 +-
spec/javascripts/models/iteration.spec.js | 126 ++++
spec/javascripts/models/project.spec.js | 128 ++++-
spec/javascripts/models/story.spec.js | 6 +-
spec/javascripts/support/jasmine.yml | 3 +-
.../support/{sinon-1.0.0.js => sinon-1.1.1.js} | 628 ++++++++++++
++++----
spec/javascripts/views/story_view.spec.js | 14 +-
test/functional/confirmations_controller_test.rb | 19 +
test/unit/project_test.rb | 22 +
test/unit/story_test.rb | 6 +-
42 files changed, 1960 insertions(+), 900 deletions(-)
create mode 100644 app/controllers/confirmations_controller.rb
rename public/stylesheets/jquery.gritter.css => app/stylesheets/
_jquery_gritter.scss (100%)
rename public/stylesheets/scaffold.css => app/stylesheets/
_scaffold.scss (100%)
create mode 100644 app/stylesheets/screen.scss
create mode 100644 config/compass.rb
delete mode 100644 config/database.yml
create mode 100644 config/database.yml.example
create mode 100644 config/initializers/compass.rb
create mode 100644 config/initializers/fulcrum.rb
create mode 100644 config/initializers/sendgrid.rb
create mode 100644 lib/tasks/fulcrum.rake
create mode 100644 public/javascripts/models/iteration.js
delete mode 100644 public/project.show.html
delete mode 100644 public/stylesheets/.gitkeep
delete mode 100644 public/stylesheets/fulcrum.css
create mode 100644 spec/javascripts/models/iteration.spec.js
rename spec/javascripts/support/{sinon-1.0.0.js => sinon-1.1.1.js}
(80%)
create mode 100644 test/functional/confirmations_controller_test.rb
> ...
>
> read more »

roovo

unread,
Sep 11, 2011, 3:25:05 PM9/11/11
to Fulcrum
On Sep 9, 11:45 am, malclocke <m...@wholemeal.co.nz> wrote:
> OK, thanks for these reports.  I've just pushed some changes which
> should fix the Jasmine tests on Safari and Firefox, if any Safari user
> fancy doing the git pull ; rake jasmine dance to confirm they are
> working that would be great ...
>

jasmine is all green for me :)

...although since updating to github head it's decided that I'm now on
iteration 41 despite the project start date being 7th Sept.

Having done a quick check in project.js with the js debugger and the
date array (line 110) is ["2011", "09", "07"] - and it's the parseInt
function having issues with the leading zeros - apparently it
interprets a string with a leading zero as octal (obvious really -
NOT) which is why it doesn't like the month of september very much...

No probs with stylesheets for me and all my stories are in the right
columns.

Cheers

roovo

Malcolm Locke

unread,
Sep 11, 2011, 6:33:35 PM9/11/11
to fulcru...@googlegroups.com
On Sun, Sep 11, 2011 at 12:25:05PM -0700, roovo wrote:
> ...although since updating to github head it's decided that I'm now on
> iteration 41 despite the project start date being 7th Sept.
>
> Having done a quick check in project.js with the js debugger and the
> date array (line 110) is ["2011", "09", "07"] - and it's the parseInt
> function having issues with the leading zeros - apparently it
> interprets a string with a leading zero as octal (obvious really -
> NOT) which is why it doesn't like the month of september very much...

Well, I'm certainly learning a few Javascript gotchas this week :)

Thanks for hunting this down Roovo, I've pushed a fix that explicitly
specifies the number is base 10, that should fix it hopefully.

Malc

roovo

unread,
Sep 12, 2011, 9:18:40 AM9/12/11
to Fulcrum
On Sep 11, 11:33 pm, Malcolm Locke <m...@wholemeal.co.nz> wrote:
> Well, I'm certainly learning a few Javascript gotchas this week :)
>
> Thanks for hunting this down Roovo, I've pushed a fix that explicitly
> specifies the number is base 10, that should fix it hopefully.

excellent - just given it a go and all looks great now - cheers

roovo

Malcolm Locke

unread,
Sep 12, 2011, 9:07:43 PM9/12/11
to fulcru...@googlegroups.com
On Sat, Sep 10, 2011 at 07:33:19AM -0700, dvand5 wrote:
> Seeing this error in Safari when opening the project site:
>
> underscore.js:416 RangeError: Array size is not a small enough
> positive integer.
>
> See it again, twice, when adding a new story.
>
> Error appears after line 416:
>
> var len = Math.max(Math.ceil((stop - start) / step), 0);
> var idx = 0;
> var range = new Array(len);
>
> underscore.js:416RangeError: Array size is not a small enough positive
> integer.
>
> while(idx < len) {
> range[idx++] = start;
> start += step;
> }
>
> Let me know if you need further details.

Hi Dv,

Sorry for the delay in answering this. Are you still seeing this error
on the current version from Github?

If so, can you modify public/javascripts/view/app_view.js as follows,
around line 120:

fillInEmptyIterations: function(column, start, end) {
var el = $(column);

// Add these lines
console.debug(start.get('number'));
console.debug(end.get('number'));

var missing_range = _.range(
parseInt(start.get('number')) + 1,
parseInt(end.get('number'))
);

And let me know what this outputs to the debug console.

Thanks,

Malc

Malcolm Locke

unread,
Sep 12, 2011, 9:09:54 PM9/12/11
to fulcru...@googlegroups.com
On Sat, Sep 10, 2011 at 08:12:15AM -0700, dvand5 wrote:
> Malc,
>
> Did the 'git pull' and rake. Jasmine no longer reporting any errors.
>
> However, now when I go back into Safari and Firefox, it shows that the
> SCREENS.CSS is missing.
> http://localhost:3000/stylesheets/screen.css 404 (Not Found)

This file should be generated automatically. Do you get any errors on
start up from 'rails server'?

Malc

dvand5

unread,
Sep 13, 2011, 10:59:02 AM9/13/11
to Fulcrum
Malc,

Did another 'git clone' yesterday and reinstalled. No errors to
report this time.

Stories are now loading in Safari, and the CSS is back for both
browsers.

Just had a little trouble getting the ruby server restarted, but all
is good now.

Thank you for your work on Fulcrum, needed a good location to track
project work and bugs.

David v.
Reply all
Reply to author
Forward
0 new messages