simplecov-html 0.10.2 → 0.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +0 -1
  3. data/.rubocop.yml +42 -17
  4. data/.tool-versions +1 -0
  5. data/.travis.yml +15 -20
  6. data/CHANGELOG.md +72 -4
  7. data/Gemfile +10 -21
  8. data/Gemfile.lock +59 -0
  9. data/Guardfile +2 -0
  10. data/README.md +3 -3
  11. data/Rakefile +10 -5
  12. data/assets/javascripts/application.js +29 -34
  13. data/assets/javascripts/libraries/jquery-3.4.1.js +10598 -0
  14. data/assets/javascripts/plugins/jquery.colorbox.js +1101 -1086
  15. data/assets/javascripts/plugins/jquery.dataTables.js +15008 -0
  16. data/assets/javascripts/plugins/jquery.timeago.js +135 -44
  17. data/assets/stylesheets/plugins/datatables.css +462 -0
  18. data/assets/stylesheets/screen.css +316 -0
  19. data/lib/simplecov-html/version.rb +3 -1
  20. data/lib/simplecov-html.rb +28 -0
  21. data/public/DataTables-1.10.20/images/sort_asc.png +0 -0
  22. data/public/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  23. data/public/DataTables-1.10.20/images/sort_both.png +0 -0
  24. data/public/DataTables-1.10.20/images/sort_desc.png +0 -0
  25. data/public/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  26. data/public/application.css +1 -799
  27. data/public/application.js +7 -1707
  28. data/simplecov-html.gemspec +5 -4
  29. data/test/helper.rb +2 -0
  30. data/test/test_simple_cov-html.rb +3 -1
  31. data/views/covered_percent.erb +3 -0
  32. data/views/file_list.erb +63 -30
  33. data/views/layout.erb +8 -8
  34. data/views/source_file.erb +40 -9
  35. metadata +33 -40
  36. data/assets/javascripts/libraries/jquery-1.6.2.min.js +0 -18
  37. data/assets/javascripts/plugins/jquery.dataTables.min.js +0 -152
  38. data/assets/javascripts/plugins/jquery.url.js +0 -174
  39. data/assets/stylesheets/screen.css.sass +0 -220
  40. /data/public/{smoothness/images → images}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  41. /data/public/{smoothness/images → images}/ui-bg_flat_75_ffffff_40x100.png +0 -0
  42. /data/public/{smoothness/images → images}/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  43. /data/public/{smoothness/images → images}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  44. /data/public/{smoothness/images → images}/ui-bg_glass_75_dadada_1x400.png +0 -0
  45. /data/public/{smoothness/images → images}/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  46. /data/public/{smoothness/images → images}/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  47. /data/public/{smoothness/images → images}/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  48. /data/public/{smoothness/images → images}/ui-icons_222222_256x240.png +0 -0
  49. /data/public/{smoothness/images → images}/ui-icons_2e83ff_256x240.png +0 -0
  50. /data/public/{smoothness/images → images}/ui-icons_454545_256x240.png +0 -0
  51. /data/public/{smoothness/images → images}/ui-icons_888888_256x240.png +0 -0
  52. /data/public/{smoothness/images → images}/ui-icons_cd0a0a_256x240.png +0 -0
@@ -1,174 +0,0 @@
1
- // JQuery URL Parser
2
- // Written by Mark Perkins, mark@allmarkedup.com
3
- // License: http://unlicense.org/ (i.e. do what you want with it!)
4
-
5
- jQuery.url = function()
6
- {
7
- var segments = {};
8
-
9
- var parsed = {};
10
-
11
- /**
12
- * Options object. Only the URI and strictMode values can be changed via the setters below.
13
- */
14
- var options = {
15
-
16
- url : window.location, // default URI is the page in which the script is running
17
-
18
- strictMode: false, // 'loose' parsing by default
19
-
20
- key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], // keys available to query
21
-
22
- q: {
23
- name: "queryKey",
24
- parser: /(?:^|&)([^&=]*)=?([^&]*)/g
25
- },
26
-
27
- parser: {
28
- strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs
29
- loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs
30
- }
31
-
32
- };
33
-
34
- /**
35
- * Deals with the parsing of the URI according to the regex above.
36
- * Written by Steven Levithan - see credits at top.
37
- */
38
- var parseUri = function()
39
- {
40
- str = decodeURI( options.url );
41
-
42
- var m = options.parser[ options.strictMode ? "strict" : "loose" ].exec( str );
43
- var uri = {};
44
- var i = 14;
45
-
46
- while ( i-- ) {
47
- uri[ options.key[i] ] = m[i] || "";
48
- }
49
-
50
- uri[ options.q.name ] = {};
51
- uri[ options.key[12] ].replace( options.q.parser, function ( $0, $1, $2 ) {
52
- if ($1) {
53
- uri[options.q.name][$1] = $2;
54
- }
55
- });
56
-
57
- return uri;
58
- };
59
-
60
- /**
61
- * Returns the value of the passed in key from the parsed URI.
62
- *
63
- * @param string key The key whose value is required
64
- */
65
- var key = function( key )
66
- {
67
- if ( ! parsed.length )
68
- {
69
- setUp(); // if the URI has not been parsed yet then do this first...
70
- }
71
- if ( key == "base" )
72
- {
73
- if ( parsed.port !== null && parsed.port !== "" )
74
- {
75
- return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/";
76
- }
77
- else
78
- {
79
- return parsed.protocol+"://"+parsed.host+"/";
80
- }
81
- }
82
-
83
- return ( parsed[key] === "" ) ? null : parsed[key];
84
- };
85
-
86
- /**
87
- * Returns the value of the required query string parameter.
88
- *
89
- * @param string item The parameter whose value is required
90
- */
91
- var param = function( item )
92
- {
93
- if ( ! parsed.length )
94
- {
95
- setUp(); // if the URI has not been parsed yet then do this first...
96
- }
97
- return ( parsed.queryKey[item] === null ) ? null : parsed.queryKey[item];
98
- };
99
-
100
- /**
101
- * 'Constructor' (not really!) function.
102
- * Called whenever the URI changes to kick off re-parsing of the URI and splitting it up into segments.
103
- */
104
- var setUp = function()
105
- {
106
- parsed = parseUri();
107
-
108
- getSegments();
109
- };
110
-
111
- /**
112
- * Splits up the body of the URI into segments (i.e. sections delimited by '/')
113
- */
114
- var getSegments = function()
115
- {
116
- var p = parsed.path;
117
- segments = []; // clear out segments array
118
- segments = parsed.path.length == 1 ? {} : ( p.charAt( p.length - 1 ) == "/" ? p.substring( 1, p.length - 1 ) : path = p.substring( 1 ) ).split("/");
119
- };
120
-
121
- return {
122
-
123
- /**
124
- * Sets the parsing mode - either strict or loose. Set to loose by default.
125
- *
126
- * @param string mode The mode to set the parser to. Anything apart from a value of 'strict' will set it to loose!
127
- */
128
- setMode : function( mode )
129
- {
130
- strictMode = mode == "strict" ? true : false;
131
- return this;
132
- },
133
-
134
- /**
135
- * Sets URI to parse if you don't want to to parse the current page's URI.
136
- * Calling the function with no value for newUri resets it to the current page's URI.
137
- *
138
- * @param string newUri The URI to parse.
139
- */
140
- setUrl : function( newUri )
141
- {
142
- options.url = newUri === undefined ? window.location : newUri;
143
- setUp();
144
- return this;
145
- },
146
-
147
- /**
148
- * Returns the value of the specified URI segment. Segments are numbered from 1 to the number of segments.
149
- * For example the URI http://test.com/about/company/ segment(1) would return 'about'.
150
- *
151
- * If no integer is passed into the function it returns the number of segments in the URI.
152
- *
153
- * @param int pos The position of the segment to return. Can be empty.
154
- */
155
- segment : function( pos )
156
- {
157
- if ( ! parsed.length )
158
- {
159
- setUp(); // if the URI has not been parsed yet then do this first...
160
- }
161
- if ( pos === undefined )
162
- {
163
- return segments.length;
164
- }
165
- return ( segments[pos] === "" || segments[pos] === undefined ) ? null : segments[pos];
166
- },
167
-
168
- attr : key, // provides public access to private 'key' function - see above
169
-
170
- param : param // provides public access to private 'param' function - see above
171
-
172
- };
173
-
174
- }();
@@ -1,220 +0,0 @@
1
- #loading
2
- position: fixed
3
- left: 40%
4
- top: 50%
5
-
6
- a
7
- color: #333
8
- text-decoration: none
9
- &:hover
10
- color: #000
11
- text-decoration: underline
12
-
13
- body
14
- font-family: "Lucida Grande", Helvetica, "Helvetica Neue", Arial, sans-serif
15
- padding: 12px
16
- background-color: #333
17
-
18
- h1, h2, h3, h4
19
- color: #1C2324
20
- margin: 0
21
- padding: 0
22
- margin-bottom: 12px
23
-
24
- table
25
- width: 100%
26
-
27
- #content
28
- clear: left
29
- background-color: white
30
- border: 2px solid #ddd
31
- border-top: 8px solid #ddd
32
- padding: 18px
33
- -webkit-border-bottom-left-radius: 5px
34
- -webkit-border-bottom-right-radius: 5px
35
- -webkit-border-top-right-radius: 5px
36
- -moz-border-radius-bottomleft: 5px
37
- -moz-border-radius-bottomright: 5px
38
- -moz-border-radius-topright: 5px
39
- border-bottom-left-radius: 5px
40
- border-bottom-right-radius: 5px
41
- border-top-right-radius: 5px
42
-
43
- .dataTables_filter, .dataTables_info
44
- padding: 2px 6px
45
-
46
- abbr.timeago
47
- text-decoration: none
48
- border: none
49
- font-weight: bold
50
-
51
- .timestamp
52
- float: right
53
- color: #ddd
54
-
55
- .group_tabs
56
- list-style: none
57
- float: left
58
- margin: 0
59
- padding: 0
60
- li
61
- display: inline
62
- float: left
63
- a
64
- font-family: Helvetica, Arial, sans-serif
65
- display: block
66
- float: left
67
- text-decoration: none
68
- padding: 4px 8px
69
- background-color: #aaa
70
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(#dddddd), to(#aaaaaa))
71
- background: -moz-linear-gradient(#dddddd, #aaaaaa)
72
- background: linear-gradient(#dddddd, #aaaaaa)
73
- text-shadow: #e5e5e5 1px 1px 0px
74
- border-bottom: none
75
- color: #333
76
- font-weight: bold
77
- margin-right: 8px
78
- border-top: 1px solid #efefef
79
- -webkit-border-top-left-radius: 2px
80
- -webkit-border-top-right-radius: 2px
81
- -moz-border-radius-topleft: 2px
82
- -moz-border-radius-topright: 2px
83
- border-top-left-radius: 2px
84
- border-top-right-radius: 2px
85
- &:hover
86
- background-color: #ccc
87
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(#eeeeee), to(#aaaaaa))
88
- background: -moz-linear-gradient(#eeeeee, #aaaaaa)
89
- background: linear-gradient(#eeeeee, #aaaaaa)
90
- &:active
91
- padding-top: 5px
92
- padding-bottom: 3px
93
- &.active a
94
- color: black
95
- text-shadow: #fff 1px 1px 0px
96
- background-color: #ddd
97
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(white), to(#dddddd))
98
- background: -moz-linear-gradient(white, #dddddd)
99
- background: linear-gradient(white, #dddddd)
100
-
101
- .file_list
102
- margin-bottom: 18px
103
-
104
- a.src_link
105
- background: url('./magnify.png') no-repeat left 50%
106
- padding-left: 18px
107
-
108
- tr, td
109
- margin: 0
110
- padding: 0
111
-
112
- th
113
- white-space: nowrap
114
- &.ui-state-default
115
- cursor: pointer
116
- span.ui-icon
117
- float: left
118
-
119
- td
120
- padding: 4px 8px
121
- &.strong
122
- font-weight: bold
123
-
124
- .source_table
125
- h3, h4
126
- padding: 0
127
- margin: 0
128
- margin-bottom: 4px
129
- .header
130
- padding: 10px
131
- pre
132
- margin: 0
133
- padding: 0
134
- white-space: normal
135
- color: #000
136
- font-family: "Monaco", "Inconsolata", "Consolas", monospace
137
- code
138
- color: #000
139
- font-family: "Monaco", "Inconsolata", "Consolas", monospace
140
- pre
141
- background-color: #333
142
- ol
143
- margin: 0px
144
- padding: 0px
145
- margin-left: 45px
146
- font-size: 12px
147
- color: white
148
- li
149
- margin: 0px
150
- padding: 2px 6px
151
- border-left: 5px solid white
152
- code
153
- white-space: pre
154
- white-space: pre-wrap
155
- .hits
156
- float: right
157
- margin-left: 10px
158
- padding: 2px 4px
159
- background-color: #444
160
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(#222222), to(#666666))
161
- background: -moz-linear-gradient(#222222, #666666)
162
- background: linear-gradient(#222222, #666666)
163
- color: white
164
- font-family: Helvetica, "Helvetica Neue", Arial, sans-serif
165
- font-size: 10px
166
- font-weight: bold
167
- text-align: center
168
- border-radius: 6px
169
-
170
- #footer
171
- color: #ddd
172
- font-size: 12px
173
- font-weight: bold
174
- margin-top: 12px
175
- text-align: right
176
- a
177
- color: #eee
178
- text-decoration: underline
179
- &:hover
180
- color: #fff
181
- text-decoration: none
182
-
183
- .green
184
- color: #090
185
-
186
- .red
187
- color: #900
188
-
189
- .yellow
190
- color: #da0
191
-
192
- .source_table
193
- .covered
194
- border-color: #090
195
- .missed
196
- border-color: #900
197
- .never
198
- border-color: black
199
- .skipped
200
- border-color: #fc0
201
- .covered
202
- &:nth-child(odd)
203
- background-color: #CDF2CD
204
- &:nth-child(even)
205
- background-color: #DBF2DB
206
- .missed
207
- &:nth-child(odd)
208
- background-color: #F7C0C0
209
- &:nth-child(even)
210
- background-color: #F7CFCF
211
- .never
212
- &:nth-child(odd)
213
- background-color: #efefef
214
- &:nth-child(even)
215
- background-color: #f4f4f4
216
- .skipped
217
- &:nth-child(odd)
218
- background-color: #FBF0C0
219
- &:nth-child(even)
220
- background-color: #FBFfCf