garb 0.8.5 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. data/README.md +27 -87
  2. data/lib/garb.rb +2 -0
  3. data/lib/garb/account.rb +1 -0
  4. data/lib/garb/account_feed_request.rb +2 -2
  5. data/lib/garb/destination.rb +3 -5
  6. data/lib/garb/management/account.rb +7 -4
  7. data/lib/garb/management/feed.rb +1 -1
  8. data/lib/garb/management/goal.rb +36 -12
  9. data/lib/garb/management/profile.rb +3 -4
  10. data/lib/garb/management/segment.rb +27 -0
  11. data/lib/garb/management/web_property.rb +4 -0
  12. data/lib/garb/resource.rb +1 -1
  13. data/lib/garb/version.rb +2 -2
  14. data/test/test_helper.rb +9 -1
  15. data/test/unit/garb/account_feed_request_test.rb +34 -1
  16. data/test/unit/garb/coverage/assets/0.3.9/app.js +66 -0
  17. data/test/unit/garb/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  18. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  19. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  20. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  21. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  22. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  23. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  24. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  25. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  26. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  27. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  28. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  29. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  30. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  31. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  32. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  33. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  34. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  35. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  36. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  37. data/test/unit/garb/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
  38. data/test/unit/garb/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  39. data/test/unit/garb/coverage/assets/0.3.9/favicon.png +0 -0
  40. data/test/unit/garb/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
  41. data/test/unit/garb/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
  42. data/test/unit/garb/coverage/assets/0.3.9/jquery.timeago.js +141 -0
  43. data/test/unit/garb/coverage/assets/0.3.9/jquery.url.js +174 -0
  44. data/test/unit/garb/coverage/assets/0.3.9/loading.gif +0 -0
  45. data/test/unit/garb/coverage/assets/0.3.9/magnify.png +0 -0
  46. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  47. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  48. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  49. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  50. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  51. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  52. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  53. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  54. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  55. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  56. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  57. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  58. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  59. data/test/unit/garb/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  60. data/test/unit/garb/coverage/assets/0.3.9/stylesheet.css +341 -0
  61. data/test/unit/garb/coverage/index.html +100 -0
  62. data/test/unit/garb/coverage/resultset.yml +5 -0
  63. data/test/unit/garb/management/account_test.rb +17 -1
  64. data/test/unit/garb/management/coverage/assets/0.3.9/app.js +66 -0
  65. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  66. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  67. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  68. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  69. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  70. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  71. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  72. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  73. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  74. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  75. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  76. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  77. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  78. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  79. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  80. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  81. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  82. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  83. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  84. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  85. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
  86. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  87. data/test/unit/garb/management/coverage/assets/0.3.9/favicon.png +0 -0
  88. data/test/unit/garb/management/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
  89. data/test/unit/garb/management/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
  90. data/test/unit/garb/management/coverage/assets/0.3.9/jquery.timeago.js +141 -0
  91. data/test/unit/garb/management/coverage/assets/0.3.9/jquery.url.js +174 -0
  92. data/test/unit/garb/management/coverage/assets/0.3.9/loading.gif +0 -0
  93. data/test/unit/garb/management/coverage/assets/0.3.9/magnify.png +0 -0
  94. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  95. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  96. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  97. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  98. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  99. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  100. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  101. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  102. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  103. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  104. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  105. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  106. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  107. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  108. data/test/unit/garb/management/coverage/assets/0.3.9/stylesheet.css +341 -0
  109. data/test/unit/garb/management/coverage/index.html +100 -0
  110. data/test/unit/garb/management/coverage/resultset.yml +5 -0
  111. data/test/unit/garb/management/feed_test.rb +39 -0
  112. data/test/unit/garb/management/goal_test.rb +81 -0
  113. data/test/unit/garb/management/profile_test.rb +26 -4
  114. data/test/unit/garb/management/segment_test.rb +47 -0
  115. data/test/unit/garb/management/web_property_test.rb +6 -0
  116. metadata +199 -4
@@ -0,0 +1,341 @@
1
+ /* -----------------------------------------------------------------------
2
+
3
+
4
+ Blueprint CSS Framework 0.9
5
+ http://blueprintcss.org
6
+
7
+ * Copyright (c) 2007-Present. See LICENSE for more info.
8
+ * See README for instructions on how to use Blueprint.
9
+ * For credits and origins, see AUTHORS.
10
+ * This is a compressed file. See the sources in the 'src' directory.
11
+
12
+ ----------------------------------------------------------------------- */
13
+
14
+ /* reset.css */
15
+ html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
16
+ article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
17
+ body {line-height:1.5;}
18
+ table {border-collapse:separate;border-spacing:0;}
19
+ caption, th, td {text-align:left;font-weight:normal;}
20
+ table, td, th {vertical-align:middle;}
21
+ blockquote:before, blockquote:after, q:before, q:after {content:"";}
22
+ blockquote, q {quotes:"" "";}
23
+ a img {border:none;}
24
+
25
+ /* typography.css */
26
+ html {font-size:100.01%;}
27
+ body {font-size:82%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
28
+ h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
29
+ h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
30
+ h2 {font-size:2em;margin-bottom:0.75em;}
31
+ h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
32
+ h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
33
+ h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
34
+ h6 {font-size:1em;font-weight:bold;}
35
+ h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
36
+ p {margin:0 0 1.5em;}
37
+ p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
38
+ p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
39
+ a:focus, a:hover {color:#000;}
40
+ a {color:#009;text-decoration:underline;}
41
+ blockquote {margin:1.5em;color:#666;font-style:italic;}
42
+ strong {font-weight:bold;}
43
+ em, dfn {font-style:italic;}
44
+ dfn {font-weight:bold;}
45
+ sup, sub {line-height:0;}
46
+ abbr, acronym {border-bottom:1px dotted #666;}
47
+ address {margin:0 0 1.5em;font-style:italic;}
48
+ del {color:#666;}
49
+ pre {margin:1.5em 0;white-space:pre;}
50
+ pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
51
+ li ul, li ol {margin:0;}
52
+ ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
53
+ ul {list-style-type:disc;}
54
+ ol {list-style-type:decimal;}
55
+ dl {margin:0 0 1.5em 0;}
56
+ dl dt {font-weight:bold;}
57
+ dd {margin-left:1.5em;}
58
+ table {margin-bottom:1.4em;width:100%;}
59
+ th {font-weight:bold;}
60
+ thead th {background:#c3d9ff;}
61
+ th, td, caption {padding:4px 10px 4px 5px;}
62
+ tr.even td {background:#efefef;}
63
+ tfoot {font-style:italic;}
64
+ caption {background:#eee;}
65
+ .small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
66
+ .large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
67
+ .hide {display:none;}
68
+ .quiet {color:#666;}
69
+ .loud {color:#000;}
70
+ .highlight {background:#ff0;}
71
+ .added {background:#060;color:#fff;}
72
+ .removed {background:#900;color:#fff;}
73
+ .first {margin-left:0;padding-left:0;}
74
+ .last {margin-right:0;padding-right:0;}
75
+ .top {margin-top:0;padding-top:0;}
76
+ .bottom {margin-bottom:0;padding-bottom:0;}
77
+
78
+ /* forms.css */
79
+ label {font-weight:bold;}
80
+ fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
81
+ legend {font-weight:bold;font-size:1.2em;}
82
+ input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
83
+ input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
84
+ input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
85
+ input.text, input.title {width:300px;padding:5px;}
86
+ input.title {font-size:1.5em;}
87
+ textarea {width:390px;height:250px;padding:5px;}
88
+ input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
89
+ form.inline {line-height:3;}
90
+ form.inline p {margin-bottom:0;}
91
+ .error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
92
+ .error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
93
+ .notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
94
+ .success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
95
+ .error a {color:#8a1f11;}
96
+ .notice a {color:#514721;}
97
+ .success a {color:#264409;}
98
+ .box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
99
+ hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
100
+ hr.space {background:#fff;color:#fff;visibility:hidden;}
101
+ .clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
102
+ .clearfix, .container {display:block;}
103
+ .clear {clear:both;}
104
+
105
+ #loading {
106
+ position: fixed;
107
+ left: 40%;
108
+ top: 50%;
109
+ }
110
+
111
+ a {
112
+ color: #600;
113
+ text-decoration: none;
114
+ }
115
+
116
+ a:hover {
117
+ color: #900;
118
+ text-decoration: underline;
119
+ }
120
+
121
+ body {
122
+ font-family: "Lucida Grande", Helvetica, "Helvetica Neue", Arial, sans-serif;
123
+ padding: 12px;
124
+ background-color: #333;
125
+ }
126
+
127
+ h1, h2, h3, h4 {
128
+ color: #1C2324;
129
+ margin: 0;
130
+ padding: 0;
131
+ margin-bottom: 12px;
132
+ }
133
+
134
+ table {
135
+ width: 100%;
136
+ }
137
+
138
+ #content {
139
+ clear: left;
140
+ background-color: white;
141
+ border: 2px solid #ddd;
142
+ border-top: 8px solid #ddd;
143
+ padding: 18px;
144
+ -webkit-border-bottom-left-radius: 5px;
145
+ -webkit-border-bottom-right-radius: 5px;
146
+ -webkit-border-top-right-radius: 5px;
147
+ -moz-border-radius-bottomleft: 5px;
148
+ -moz-border-radius-bottomright: 5px;
149
+ -moz-border-radius-topright: 5px;
150
+ border-bottom-left-radius: 5px;
151
+ border-bottom-right-radius: 5px;
152
+ border-top-right-radius: 5px;
153
+ }
154
+
155
+ .dataTables_filter, .dataTables_info {
156
+ padding: 2px 6px;
157
+ }
158
+
159
+ abbr.timeago {
160
+ text-decoration: none;
161
+ border: none;
162
+ font-weight: bold;
163
+ }
164
+
165
+ .timestamp {
166
+ float: right;
167
+ color: #ddd;
168
+ }
169
+
170
+ .group_tabs {
171
+ list-style: none;
172
+ float: left;
173
+ margin: 0;
174
+ padding: 0;
175
+ }
176
+ .group_tabs li {
177
+ display: inline;
178
+ float: left;
179
+ }
180
+
181
+ .group_tabs li a {
182
+ font-family: Helvetica, Arial, sans-serif;
183
+ display: block;
184
+ float: left;
185
+ text-decoration: none;
186
+ padding: 4px 8px;
187
+ background-color: #aaa;
188
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(#DDD), to(#aaa));
189
+ background: -moz-linear-gradient(#DDD, #aaa);
190
+ background: linear-gradient(#DDD, #aaa);
191
+ text-shadow: #e5e5e5 1px 1px 0px;
192
+ border-bottom: none;
193
+ color: #333;
194
+ font-weight: bold;
195
+ margin-right: 8px;
196
+ border-top: 1px solid #efefef;
197
+ -webkit-border-top-left-radius: 2px;
198
+ -webkit-border-top-right-radius: 2px;
199
+ -moz-border-radius-topleft: 2px;
200
+ -moz-border-radius-topright: 2px;
201
+ border-top-left-radius: 2px;
202
+ border-top-right-radius: 2px;
203
+ }
204
+
205
+ .group_tabs li a:hover {
206
+ background-color: #ccc;
207
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(#eee), to(#aaa));
208
+ background: -moz-linear-gradient(#eee, #aaa);
209
+ background: linear-gradient(#eee, #aaa);
210
+ }
211
+
212
+ .group_tabs li a:active {
213
+ padding-top: 5px;
214
+ padding-bottom: 3px;
215
+ }
216
+
217
+ .group_tabs li.active a {
218
+ color: black;
219
+ text-shadow: #fff 1px 1px 0px;
220
+ background-color: #ddd;
221
+ background: -webkit-gradient(linear, 0 0, 0 bottom, from(#fff), to(#ddd));
222
+ background: -moz-linear-gradient(#fff, #ddd);
223
+ background: linear-gradient(#fff, #ddd);
224
+ }
225
+
226
+ .file_list {
227
+ margin-bottom: 18px;
228
+ }
229
+
230
+ a.src_link {
231
+ background: url('./magnify.png') no-repeat left 50%;
232
+ padding-left: 18px;
233
+ }
234
+
235
+ tr, td {
236
+ margin: 0;
237
+ padding: 0;
238
+ }
239
+
240
+ th {
241
+ white-space: nowrap;
242
+ }
243
+
244
+ th.ui-state-default {
245
+ cursor: pointer;
246
+ }
247
+
248
+ th span.ui-icon {
249
+ float: left;
250
+ }
251
+
252
+ td {
253
+ padding: 4px 8px;
254
+ }
255
+
256
+ .source_table td {
257
+ padding: 2px 8px;
258
+ }
259
+
260
+
261
+ .source_table {
262
+ overflow: auto;
263
+ }
264
+
265
+ .source_table table {
266
+ width: 95%;
267
+ }
268
+
269
+ .source_table thead td {
270
+ background-color: white;
271
+ }
272
+
273
+ .source_table thead th {
274
+ background-color: white;
275
+ }
276
+
277
+ .source_table td.hits {
278
+ text-align: right;
279
+ }
280
+
281
+ .source_table h3, .source_table h4 {
282
+ padding: 0;
283
+ margin: 0;
284
+ margin-bottom: 4px;
285
+ }
286
+
287
+ td pre {
288
+ margin: 0;
289
+ padding: 0;
290
+ color: #222;
291
+ font-family: "Monaco", "Inconsolata", "Consolas", monospace;
292
+ }
293
+
294
+ .line_number {
295
+ width: 20px;
296
+ font-weight: bold;
297
+ }
298
+
299
+ #footer {
300
+ color: #ddd;
301
+ font-size: 12px;
302
+ font-weight: bold;
303
+ margin-top: 12px;
304
+ text-align: right;
305
+ }
306
+ #footer a {
307
+ color: #eee;
308
+ text-decoration: underline;
309
+ }
310
+ #footer a:hover {
311
+ color: #fff;
312
+ text-decoration: none;
313
+ }
314
+
315
+ .green {
316
+ color: #090;
317
+ }
318
+ .red {
319
+ color: #900;
320
+ }
321
+ .yellow {
322
+ color: #da0;
323
+ }
324
+ .hit.odd td {
325
+ background-color: #bbdbb6;
326
+ }
327
+ .hit.even td {
328
+ background-color: #cde1c9;
329
+ }
330
+ .miss.odd td {
331
+ background-color: #f19683;
332
+ }
333
+ .miss.even td {
334
+ background-color: #efb5a8;
335
+ }
336
+ .never.odd td {
337
+ background-color: #efefef;
338
+ }
339
+ .never.even td {
340
+ background-color: #f4f4f4;
341
+ }
@@ -0,0 +1,100 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns='http://www.w3.org/1999/xhtml'>
3
+ <head>
4
+ <title>Code coverage for Management</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <script src='./assets/0.3.9/jquery-1.4.2.min.js' type='text/javascript'></script>
7
+ <script src='./assets/0.3.9/jquery.dataTables.min.js' type='text/javascript'></script>
8
+ <script src='./assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js' type='text/javascript'></script>
9
+ <script src='./assets/0.3.9/jquery.timeago.js' type='text/javascript'></script>
10
+ <script src='./assets/0.3.9/jquery.url.js' type='text/javascript'></script>
11
+ <script src='./assets/0.3.9/app.js' type='text/javascript'></script>
12
+ <link href='./assets/0.3.9/stylesheet.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
13
+ <link href='./assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
14
+ <link href='./assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
15
+ <link rel="shortcut icon" type="image/png" href="./assets/0.3.9/favicon.png" />
16
+ <link rel="icon" type="image/png" href="./assets/0.3.9/favicon.png" />
17
+ </head>
18
+
19
+ <body>
20
+ <div id="loading">
21
+ <img src="./assets/0.3.9/loading.gif" alt="loading"/>
22
+ </div>
23
+ <div id="wrapper" style="display:none;">
24
+ <div class="timestamp">Generated <abbr class="timeago" title="2010-12-09T17:47:44-05:00">2010-12-09T17:47:44-05:00</abbr></div>
25
+ <ul class="group_tabs"></ul>
26
+
27
+ <div id="content">
28
+ <div class="file_list_container" id="AllFiles">
29
+ <h2>
30
+ All Files
31
+ (<span class="green">100.0%</span>)
32
+ </h2>
33
+ <a name="AllFiles"></a>
34
+ <div>
35
+ <b>0</b> files in total.
36
+ <b>0.0</b> relevant lines.
37
+ <span class="green"><b>0.0</b> lines covered</span> and
38
+ <span class="red"><b>0.0</b> lines missed </span>
39
+ </div>
40
+ <table class="file_list">
41
+ <thead>
42
+ <tr>
43
+ <th>File</th>
44
+ <th>% covered</th>
45
+ <th>Lines</th>
46
+ <th>Relevant Lines</th>
47
+ <th>Lines covered</th>
48
+ <th>Lines missed</th>
49
+ </tr>
50
+ </thead>
51
+ <tbody>
52
+
53
+ </tbody>
54
+ </table>
55
+ </div>
56
+
57
+
58
+ <div class="file_list_container" id="Libraries">
59
+ <h2>
60
+ Libraries
61
+ (<span class="green">100.0%</span>)
62
+ </h2>
63
+ <a name="Libraries"></a>
64
+ <div>
65
+ <b>0</b> files in total.
66
+ <b>0.0</b> relevant lines.
67
+ <span class="green"><b>0.0</b> lines covered</span> and
68
+ <span class="red"><b>0.0</b> lines missed </span>
69
+ </div>
70
+ <table class="file_list">
71
+ <thead>
72
+ <tr>
73
+ <th>File</th>
74
+ <th>% covered</th>
75
+ <th>Lines</th>
76
+ <th>Relevant Lines</th>
77
+ <th>Lines covered</th>
78
+ <th>Lines missed</th>
79
+ </tr>
80
+ </thead>
81
+ <tbody>
82
+
83
+ </tbody>
84
+ </table>
85
+ </div>
86
+
87
+ </div>
88
+
89
+ <div id="footer">
90
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.3.7
91
+ and simplecov-html v0.3.9<br/>
92
+ using Unit Tests
93
+ </div>
94
+
95
+ <div class="source_files">
96
+
97
+ </div>
98
+ </div>
99
+ </body>
100
+ </html>
@@ -0,0 +1,5 @@
1
+ ---
2
+ Unit Tests:
3
+ :original_result: {}
4
+
5
+ :created_at: 2010-12-09 17:47:44.425037 -05:00
@@ -0,0 +1,39 @@
1
+ require 'test_helper'
2
+
3
+ module Garb
4
+ module Management
5
+ class FeedTest < MiniTest::Unit::TestCase
6
+ context "a Feed" do
7
+ setup do
8
+ @request = stub
9
+ DataRequest.stubs(:new).returns(@request)
10
+ @feed = Feed.new(Garb::Session.new, '/accounts')
11
+ end
12
+
13
+ should "have a parsed response" do
14
+ Crack::XML.stubs(:parse)
15
+ @feed.stubs(:response).returns(stub(:body => 'response body'))
16
+ @feed.parsed_response
17
+
18
+ assert_received(Crack::XML, :parse) {|e| e.with('response body')}
19
+ end
20
+
21
+ should "have entries from the parsed response" do
22
+ @feed.stubs(:parsed_response).returns({'feed' => {'entry' => ['entry1', 'entry2']}})
23
+ assert_equal ['entry1', 'entry2'], @feed.entries
24
+ end
25
+
26
+ should "have an empty array for entries without a response" do
27
+ @feed.stubs(:parsed_response).returns(nil)
28
+ assert_equal [], @feed.entries
29
+ end
30
+
31
+ should "have a response from the request" do
32
+ @request.stubs(:send_request)
33
+ @feed.response
34
+ assert_received(@request, :send_request)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end