summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Underwood <david.underwood@jadedpixel.com>2012-12-29 20:06:56 +0000
committerDavid Underwood <david.underwood@jadedpixel.com>2012-12-29 20:06:56 +0000
commit40b9f3347d76ce401f8e312509272e0e5a670a55 (patch)
tree934e225918ab1611c99a66031cd507dcbfcf901e
parent264ce7e1b3ccdb5a900842c66831bd999b03090d (diff)
parent27338212e6347bebed1cbf08963a9af110368b76 (diff)
Merge branch 'master' of github.com:Shopify/dashing into status_fix
-rw-r--r--Rakefile10
-rw-r--r--javascripts/dashing.coffee13
-rw-r--r--test/cli_test.rb20
-rw-r--r--test/test_helper.rb34
4 files changed, 71 insertions, 6 deletions
diff --git a/Rakefile b/Rakefile
new file mode 100644
index 0000000..765e5bd
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,10 @@
+require 'rubygems'
+require 'rake'
+
+require 'rake/testtask'
+Rake::TestTask.new(:test) do |test|
+ test.libs << 'lib' << 'test'
+ test.pattern = 'test/**/*_test.rb'
+end
+
+task :default => [:test] \ No newline at end of file
diff --git a/javascripts/dashing.coffee b/javascripts/dashing.coffee
index faf21a0..ebf5c0a 100644
--- a/javascripts/dashing.coffee
+++ b/javascripts/dashing.coffee
@@ -100,12 +100,13 @@ source.addEventListener 'error', (e)->
source.addEventListener 'message', (e) =>
data = JSON.parse(e.data)
- if Dashing.debugMode
- console.log("Received data for #{data.id}", data)
- lastEvents[data.id] = data
- if widgets[data.id]?.length > 0
- for widget in widgets[data.id]
- widget.receiveData(data)
+ if lastEvents[data.id]?.updatedAt != data.updatedAt
+ if Dashing.debugMode
+ console.log("Received data for #{data.id}", data)
+ lastEvents[data.id] = data
+ if widgets[data.id]?.length > 0
+ for widget in widgets[data.id]
+ widget.receiveData(data)
$(document).ready ->
diff --git a/test/cli_test.rb b/test/cli_test.rb
new file mode 100644
index 0000000..4dc1eb3
--- /dev/null
+++ b/test/cli_test.rb
@@ -0,0 +1,20 @@
+require 'test_helper'
+silent{ load 'bin/dashing' }
+
+module Thor::Actions
+ def source_paths
+ [File.join(File.expand_path(File.dirname(__FILE__)), '../templates')]
+ end
+end
+
+class CliTest < Dashing::Test
+
+ def test_project_directory_created
+ temp do |dir|
+ cli = Dashing::CLI.new
+ silent{ cli.new 'Dashboard' }
+ assert Dir.exist?(File.join(dir,'dashboard')), 'Dashing directory was not created.'
+ end
+ end
+
+end \ No newline at end of file
diff --git a/test/test_helper.rb b/test/test_helper.rb
new file mode 100644
index 0000000..d2337c5
--- /dev/null
+++ b/test/test_helper.rb
@@ -0,0 +1,34 @@
+require 'rack/test'
+require 'stringio'
+require 'test/unit'
+require 'tmpdir'
+
+ENV['RACK_ENV'] = 'test'
+WORKING_DIRECTORY = Dir.pwd.freeze
+ARGV.clear
+
+def silent
+ _stdout = $stdout
+ $stdout = mock = StringIO.new
+ begin
+ yield
+ ensure
+ $stdout = _stdout
+ end
+end
+
+def temp
+ path = File.expand_path "#{Dir.tmpdir}/#{Time.now.to_i}#{rand(1000)}/"
+ FileUtils.mkdir_p path
+ Dir.chdir path
+ yield path
+ensure
+ Dir.chdir WORKING_DIRECTORY
+ FileUtils.rm_rf(path) if File.exists?(path)
+end
+
+module Dashing
+ class Test < Test::Unit::TestCase
+ include Rack::Test::Methods
+ end
+end \ No newline at end of file