simplecov-html 0.10.2 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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