From 493231798235f7a777abf4c4e2b2a8f5af4bb0c6 Mon Sep 17 00:00:00 2001 From: Scott Erickson Date: Sat, 14 Jun 2014 15:02:14 -0700 Subject: [PATCH] Finally got the demo view working (mostly). Need to turn off third party ajax requests. --- {test/app => app}/lib/requireUtils.coffee | 0 {test/app => app}/views/DemoView.coffee | 13 ++++++++----- config.coffee | 3 +-- .../demo}/views/editor/PatchesView.demo.coffee | 9 ++++++++- 4 files changed, 17 insertions(+), 8 deletions(-) rename {test/app => app}/lib/requireUtils.coffee (100%) rename {test/app => app}/views/DemoView.coffee (90%) rename {demo => test/demo}/views/editor/PatchesView.demo.coffee (67%) diff --git a/test/app/lib/requireUtils.coffee b/app/lib/requireUtils.coffee similarity index 100% rename from test/app/lib/requireUtils.coffee rename to app/lib/requireUtils.coffee diff --git a/test/app/views/DemoView.coffee b/app/views/DemoView.coffee similarity index 90% rename from test/app/views/DemoView.coffee rename to app/views/DemoView.coffee index b3470ab9d..00def8100 100644 --- a/test/app/views/DemoView.coffee +++ b/app/views/DemoView.coffee @@ -2,7 +2,7 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/demo' requireUtils = require 'lib/requireUtils' -DEMO_REQUIRE_PREFIX = 'demo/app/' +DEMO_REQUIRE_PREFIX = 'test/demo/' DEMO_URL_PREFIX = '/demo/' ### @@ -37,7 +37,8 @@ module.exports = DemoView = class DemoView extends CocoView loadDemoingLibs: -> @queue = new createjs.LoadQueue() @queue.on('complete', @scriptsLoaded, @) - for f in ['jasmine', 'jasmine-html', 'boot', 'mock-ajax', 'demo-app'] + window.jasmine = {} # so that mock-ajax properly loads. It expects jasmine to be loaded + for f in ['mock-ajax', 'demo-app'] @queue.loadFile({ src: "/javascripts/#{f}.js" type: createjs.LoadQueue.JAVASCRIPT @@ -64,7 +65,7 @@ module.exports = DemoView = class DemoView extends CocoView initDemoFiles: -> @demoFiles = @getAllDemoFiles() if @subPath - prefix = TEST_REQUIRE_PREFIX + @subPath + prefix = DEMO_REQUIRE_PREFIX + @subPath @demoFiles = (f for f in @demoFiles when f.startsWith prefix) runDemo: -> @@ -75,11 +76,13 @@ module.exports = DemoView = class DemoView extends CocoView if not _.isFunction(demoFunc) console.error "Demo files must export a function. #{requirePath} does not." return + + jasmine.Ajax.install() view = demoFunc() return unless view - @$el.find('#demo-area').empty().append(view.el) + @$el.find('#demo-area').empty().append(view.$el) # TODO, maybe handle root views differently than modal views differently than everything else? - getAllDemoFiles = -> + getAllDemoFiles: -> allFiles = window.require.list() (f for f in allFiles when f.indexOf('.demo') > -1) diff --git a/config.coffee b/config.coffee index 15b0b34ed..9bbd3abff 100644 --- a/config.coffee +++ b/config.coffee @@ -5,7 +5,6 @@ startsWith = (string, substring) -> exports.config = paths: 'public': 'public' - 'watched': ['app', 'test', 'vendor', 'demo', 'bower_components'] conventions: ignored: (path) -> startsWith(sysPath.basename(path), '_') sourceMaps: true @@ -36,7 +35,7 @@ exports.config = (bower_components[\/\\]aether[\/\\]build[\/\\]aether.js) )/// 'javascripts/test-app.js': /^test[\/\\]app/ - 'javascripts/demo-app.js': /^demo/ + 'javascripts/demo-app.js': /^test[\/\\]demo/ order: before: [ diff --git a/demo/views/editor/PatchesView.demo.coffee b/test/demo/views/editor/PatchesView.demo.coffee similarity index 67% rename from demo/views/editor/PatchesView.demo.coffee rename to test/demo/views/editor/PatchesView.demo.coffee index 9004924ae..dd1c347b6 100644 --- a/demo/views/editor/PatchesView.demo.coffee +++ b/test/demo/views/editor/PatchesView.demo.coffee @@ -17,5 +17,12 @@ class BlandModel extends CocoModel module.exports = -> model = new BlandModel({_id:'12345'}) - new PatchesView(model) + v = new PatchesView(model) + v.load() + + # doesn't quite work yet. Intercepts a mixpanel request instead + r = jasmine.Ajax.requests.mostRecent() + r.send({statusCode:200, responseText:"[]"}) + v.render() + v