From efc78f648a76ccc9421e3fc0a16e9f6c6448b346 Mon Sep 17 00:00:00 2001 From: Tim Santeford Date: Thu, 6 Dec 2012 01:10:48 -0800 Subject: Prevents duplicate widget event notifications --- javascripts/dashing.coffee | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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 -> -- cgit v1.2.3 From 27338212e6347bebed1cbf08963a9af110368b76 Mon Sep 17 00:00:00 2001 From: Kevin Thompson Date: Sun, 16 Dec 2012 23:47:00 -0800 Subject: Establish test suite. --- Rakefile | 10 ++++++++++ test/cli_test.rb | 20 ++++++++++++++++++++ test/test_helper.rb | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 Rakefile create mode 100644 test/cli_test.rb create mode 100644 test/test_helper.rb 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/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 -- cgit v1.2.3