profit 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c983db22327639739ccddb2f961937262b8e152
4
- data.tar.gz: fe2b3e21664863d794668263a95cd33dc55a7097
3
+ metadata.gz: 969014059784a1038daecb61130159475a5f1e8c
4
+ data.tar.gz: 881e0405ff428044a1a5259f46b5b2d3dfc73a75
5
5
  SHA512:
6
- metadata.gz: 342be70e08be5ec0d08174327c765bde22a03c2fe53ff7a7ba5a2713fe64d048cafb7333f23f950bd9307add002ef67e8550c6993282b594a0b5db6af78c2ab8
7
- data.tar.gz: fabf7ce5dc33fd63b4829d3073d718479a21cbcc240db36632a329144125f147b9d7df877d8b5111c14993a902e7939825ee1f79a31d6d583899e675cf9896e1
6
+ metadata.gz: d883e32d14df825d4de4fa6de6d95b870edf81ef4cf909120acd2b25941ba7c10cca17c58c853103d69884172b33182679d71cf26f95b349ed62a96405dcb863
7
+ data.tar.gz: 6f5b0edf6ab67d83f7c5926b172b35acb7c7335122a8d6100ec35ba5fcd39d040e58428b62d900ff303fa4b8475067eeebb7d285193b44ba3cf34ab9730c8f7e
@@ -19,4 +19,16 @@
19
19
  }
20
20
  charts[key] = new Chart(ctx).Line(data);
21
21
  });
22
+
23
+ $('a[data-toggle="tab"]').on('shown', function (e) {
24
+ var targetAnchor = $(e.target).attr('id');
25
+ var baseUrl = document.location.href.split("#")[0];
26
+ document.location.href = baseUrl + "#" + targetAnchor;
27
+ });
28
+
29
+ $(document).ready(function() {
30
+ var targetAnchor = document.location.href.split("#")[1];
31
+ $("#" + targetAnchor).tab("show");
32
+ });
33
+
22
34
  })(jQuery);
@@ -55,8 +55,6 @@
55
55
  </div>
56
56
  </div>
57
57
 
58
-
59
-
60
58
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
61
59
  <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.js"><\/script>')</script>
62
60
 
@@ -1,3 +1,3 @@
1
1
  module Profit
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -66,8 +66,8 @@ describe Profit::Server do
66
66
 
67
67
  set = redis.smembers("profit:keys")
68
68
  expect(set.count).to eq 2
69
- expect(set.to_a).to eq ["profit:metric:other_piece_of_code",
70
- "profit:metric:some_slow_piece_of_code"]
69
+ expect(set.to_a.sort).to eq ["profit:metric:other_piece_of_code",
70
+ "profit:metric:some_slow_piece_of_code"]
71
71
  end
72
72
 
73
73
  it "limits messages to 100" do
@@ -1,5 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
+ def current_path
4
+ ["/", page.evaluate_script("document.location.href.split('/')").last].join
5
+ end
6
+
7
+ def active_link
8
+ page.find("li.active a")
9
+ end
10
+
3
11
  describe 'Chart App' do
4
12
 
5
13
  let!(:redis) { Redis.new(host: "127.0.0.1", port: 6379) }
@@ -21,8 +29,52 @@ describe 'Chart App' do
21
29
  sleep 0.1
22
30
  client.stop("some_foo_metric")
23
31
 
32
+ Timeout.timeout(1) do
33
+ sleep(0.01) until redis.smembers("profit:keys").any?
34
+ end
35
+
24
36
  visit '/'
25
37
 
26
38
  expect(page).to have_link("some_foo_metric")
27
39
  end
40
+
41
+ describe "urls", js: true do
42
+
43
+ before do
44
+ client.start("metric_1")
45
+ sleep 0.1
46
+ client.stop("metric_1")
47
+
48
+ client.start("metric_2")
49
+ sleep 0.1
50
+ client.stop("metric_2")
51
+ end
52
+
53
+ it "changes the url based on the current tab" do
54
+ visit "/"
55
+ expect(active_link.text).to eq "metric_2"
56
+ expect(current_path).to eq "/"
57
+
58
+ click_link("metric_1")
59
+
60
+ expect(active_link.text).to eq "metric_1"
61
+ expect(current_url).to match(/\/\#metric_1/)
62
+
63
+ click_link("metric_2")
64
+
65
+ expect(active_link.text).to eq "metric_2"
66
+ expect(current_url).to match(/\/\#metric_2/)
67
+ end
68
+
69
+ it "loads the tab according to the url's anchor" do
70
+ visit "/#metric_1"
71
+
72
+ expect(active_link.text).to eq "metric_1"
73
+
74
+ # TODO: have to load the page twice for now, investigate cause
75
+ visit "/#metric_2" and visit "/#metric_2"
76
+
77
+ expect(active_link.text).to eq "metric_2"
78
+ end
79
+ end
28
80
  end
@@ -3,6 +3,8 @@ require './lib/profit/app/chart_app'
3
3
  require 'redis'
4
4
  require 'capybara'
5
5
  require 'capybara/dsl'
6
+ require 'capybara/rspec'
7
+ require 'capybara/webkit'
6
8
 
7
9
  set :environment, :test
8
10
 
@@ -18,6 +20,7 @@ class TestServer
18
20
  end
19
21
 
20
22
  Capybara.app = ChartApp
23
+ Capybara.javascript_driver = :webkit
21
24
 
22
25
  RSpec.configure do |config|
23
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: profit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Rogers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-17 00:00:00.000000000 Z
11
+ date: 2013-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - '>='
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: capybara-webkit
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  description: This is a client/server combination that allows you to profile code and
196
210
  send the results to a remote Redis server.
197
211
  email:
@@ -251,7 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
265
  version: '0'
252
266
  requirements: []
253
267
  rubyforge_project:
254
- rubygems_version: 2.0.0
268
+ rubygems_version: 2.0.3
255
269
  signing_key:
256
270
  specification_version: 4
257
271
  summary: A simple library to store profiling information for ruby code.