From a73b3cf3b235f7e5f6aed12ebec9e88b4eeaf6e3 Mon Sep 17 00:00:00 2001 From: tomhuda Date: Wed, 15 Feb 2012 14:56:36 -0800 Subject: [PATCH] Update ember-data to most recent test harness --- Assetfile | 48 ++++++++++++++++++++++++---------------------- Gemfile.lock | 12 ++++++------ tests/minispade.js | 30 +++++++++++++++++++++++++---- 3 files changed, 57 insertions(+), 33 deletions(-) diff --git a/Assetfile b/Assetfile index 9a3325d5de9..645a7fbfba8 100644 --- a/Assetfile +++ b/Assetfile @@ -1,34 +1,36 @@ require "rake-pipeline-web-filters" +require "json" -input "packages" output "tests/source" -match "*/{lib,tests}/**/*.js" do - minispade :rewrite_requires => true, :module_id_generator => proc { |input| - id = input.path.dup - id.sub!('/lib/', '/') - id.sub!(/\.js$/, '') - id.sub!(/\/main$/, '') - id.sub!('/tests', '/~tests') - id - } - - concat do |filename| - filename =~ %r{/tests/} ? "ember-tests.js" : "ember.js" +input "packages" do + match "*/{lib,tests}/**/*.js" do + minispade :rewrite_requires => true, :string => true, :module_id_generator => proc { |input| + id = input.path.dup + id.sub!('/lib/', '/') + id.sub!(/\.js$/, '') + id.sub!(/\/main$/, '') + id.sub!('/tests', '/~tests') + id + } + + concat do |filename| + filename =~ %r{/tests/} ? "ember-tests.js" : "ember.js" + end end -end -# Hack to ignore certain files -match "**/*.{json,md}" do - concat "trash" -end + # Hack to ignore certain files + match "**/*.{json,md}" do + concat "trash" + end -match "**/README" do - concat "trash" -end + match "**/README" do + concat "trash" + end -match "*/*.js" do - concat "trash" + match "*/*.js" do + concat "trash" + end end diff --git a/Gemfile.lock b/Gemfile.lock index 810d41b7b6e..1f901cd9cbd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,8 +1,8 @@ GIT remote: https://github.com/livingsocial/rake-pipeline.git - revision: 56bbc5d9cf7ce1b69d29d3d6af7282603dcdebba + revision: f71caeb1406dafd6af5ab8453db8c5ac53947c92 specs: - rake-pipeline (0.5.0) + rake-pipeline (0.6.0) rake (~> 0.9.0) thor @@ -14,11 +14,11 @@ GIT GIT remote: https://github.com/wycats/rake-pipeline-web-filters.git - revision: e7273a0c5df7181c9cc0bca31cb3dec7fa39fcc8 + revision: fe752a8cfdbb318b746fd76fd3c10dd8b8f29891 specs: - rake-pipeline-web-filters (0.5.0) + rake-pipeline-web-filters (0.6.0) rack - rake-pipeline + rake-pipeline (~> 0.6) GEM remote: http://rubygems.org/ @@ -41,7 +41,7 @@ GEM json nokogiri (>= 1.4.0) nokogiri (1.5.0) - rack (1.4.0) + rack (1.4.1) rake (0.9.2.2) thor (0.14.6) uglifier (1.0.4) diff --git a/tests/minispade.js b/tests/minispade.js index 806af5c03d3..b80d02ee6f3 100644 --- a/tests/minispade.js +++ b/tests/minispade.js @@ -1,11 +1,24 @@ -// This is based on minispade but is modified - if (typeof document !== "undefined") { (function() { minispade = { + root: null, modules: {}, loaded: {}, + globalEval: function(data) { + if ( data ) { + var ev = "ev"; + var execScript = "execScript"; + + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window[execScript] || function( data ) { + window[ ev+"al" ].call( window, data ); + } )( data ); + } + }, + require: function(name) { var loaded = minispade.loaded[name]; var mod = minispade.modules[name]; @@ -13,9 +26,18 @@ if (typeof document !== "undefined") { if (!loaded) { if (mod) { minispade.loaded[name] = true; - mod(); + + if (typeof mod === "string") { + this.globalEval(mod); + } else { + mod(); + } } else { - throw "The module '" + name + "' could not be found"; + if (minispade.root && name.substr(0,minispade.root.length) !== minispade.root) { + return minispade.require(minispade.root+name); + } else { + throw "The module '" + name + "' could not be found"; + } } }