slather 1.7.1 → 1.8

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: 8016577b9d11431c7f267be19c1d7d7aa90467ef
4
- data.tar.gz: 6bf8b29820aa969f913b3829fcbd26b0cabf241b
3
+ metadata.gz: 0543ac96785b6224de86808634fd33fcde079345
4
+ data.tar.gz: 1a1140a367ffb402a6dfc30e4332f818f7ec497c
5
5
  SHA512:
6
- metadata.gz: 25228119e452ef1a84e536a4caf612e16518109da34259b5c52e24e687522437fe273e013884907ac70905e457d5c3361e82383f457d1f4f0962202edb514669
7
- data.tar.gz: 8784ff414fe46d93145e4b3b3503dded796d7d1c1aaf14e3bc26412f3c2526bef640921643b9931773cb3222e05ebc9e01fbddece4b04a12f3684f4f243ff06b
6
+ metadata.gz: 231888e483d2fb0c1ed96564ce96855071162b0ff957df74b4fc845d945ed55e71c114eace3f264890d30b02d054b28af078281da94c2f2336fce92e71d392d1
7
+ data.tar.gz: d481a7f652450089125a50da6e04b2b0cc353666943444674efa373c293d7b681f372b7dc26a246e335abc2fed4aca836b2e472166f06c6792b9bbcf5aed0a3a
data/.gitignore CHANGED
@@ -41,3 +41,5 @@ DerivedData
41
41
  *.xcuserstate
42
42
  *.DS_Store
43
43
  cobertura.xml
44
+ .gutter.json
45
+ html
data/README.md CHANGED
@@ -34,7 +34,7 @@ $ bundle
34
34
 
35
35
  ## Usage
36
36
 
37
- Setup your project for test coverage:
37
+ Set up your project for test coverage:
38
38
 
39
39
  ```sh
40
40
  $ slather setup path/to/project.xcodeproj
@@ -43,13 +43,13 @@ $ slather setup path/to/project.xcodeproj
43
43
  This will enable the `Generate Test Coverage` and `Instrument Program Flow` flags for your project.
44
44
 
45
45
 
46
- To test if you're ready to generate test coverage, run your test suite on your project, and then run:
46
+ To verify you're ready to generate test coverage, run your test suite on your project, and then run:
47
47
 
48
48
  ```sh
49
49
  $ slather coverage -s path/to/project.xcodeproj
50
50
  ```
51
51
 
52
- ### Coveralls
52
+ ### Usage with Coveralls
53
53
 
54
54
  Login to [Coveralls](https://coveralls.io/) and enable your repository. Right now, `slather` supports Coveralls via [Travis CI](https://travis-ci.org) and [CircleCI](https://circleci.com).
55
55
 
@@ -84,7 +84,7 @@ test:
84
84
 
85
85
  ```
86
86
 
87
- #### Travis CI Pro
87
+ #### Usage with Travis CI Pro
88
88
 
89
89
  To use Coveralls with Travis CI Pro (for private repos), add following lines along with other settings to `.slather.yml`:
90
90
 
@@ -92,10 +92,10 @@ To use Coveralls with Travis CI Pro (for private repos), add following lines alo
92
92
  # .slather.yml
93
93
 
94
94
  ci_service: travis_pro
95
- ci_access_token: <YOUR ACCESS TOKEN>
95
+ coverage_access_token: <YOUR ACCESS TOKEN>
96
96
  ```
97
97
 
98
- Repo token can be found at [Coveralls](https://coveralls.io/) repo page.
98
+ The coverage token can be found at [Coveralls](https://coveralls.io/) repo page. Or it can be passed in via the `COVERAGE_ACCESS_TOKEN` environment var.
99
99
 
100
100
  ### Cobertura
101
101
 
@@ -113,23 +113,33 @@ ignore:
113
113
  - ProjectTestsGroup/*
114
114
  ```
115
115
 
116
- Or use the command line options `--cobertura-xml` or `-x` and `--output_directory`:
116
+ Or use the command line options `--cobertura-xml` or `-x` and `--output-directory`:
117
117
 
118
118
  ```sh
119
119
  $ slather coverage -x --output-directory path/to/xml_report
120
120
  ```
121
121
 
122
+ ### Static HTML
123
+
124
+ To create a report as static html pages, use the command line options `--html` or `-h`:
125
+
126
+ ```sh
127
+ $ slather coverage -h path/to/project.xcodeproj
128
+ ```
129
+
130
+ This will make a directory called `html` in your directory (unless output directory is specified) and generate all the static html pages inside the directory.
131
+
122
132
  ### Coverage for code included via CocoaPods
123
133
 
124
134
  If you're trying to compute the coverage of code that has been included via
125
- CocoaPods, you will need to tell CocoaPods to use the slather plugin by
135
+ CocoaPods, you will need to tell CocoaPods to use the Slather plugin by
126
136
  adding the following to your `Podfile`.
127
137
 
128
138
  ```ruby
129
139
  plugin 'slather'
130
140
  ```
131
141
 
132
- You will also need to tell slather where to find the source files for your Pod.
142
+ You will also need to tell Slather where to find the source files for your Pod.
133
143
 
134
144
  ```yml
135
145
  # .slather.yml
@@ -152,3 +162,4 @@ Please make sure to follow our general coding style and add test coverage for ne
152
162
  * [@tpoulos](https://github.com/tpoulos), the perfect logo.
153
163
  * [@ayanonagon](https://github.com/ayanonagon) and [@kylef](https://github.com/kylef), feedback and testing.
154
164
  * [@jhersh](https://github.com/jhersh), CircleCI support.
165
+ * [@ixnixnixn](https://github.com/ixnixnixn), html support.
@@ -0,0 +1 @@
1
+ !function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/no-?highlight|plain|text/.test(e)}function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=/\blang(?:uage)?-([\w-]+)\b/.exec(i))return E(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,r=i.length;r>n;n++)if(E(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset<r[0].offset?e:r:"start"==r[0].event?e:r:e.length?e:r}function o(e){function r(e){return" "+e.nodeName+'="'+n(e.value)+'"'}f+="<"+t(e)+Array.prototype.map.call(e.attributes,r).join("")+">"}function u(e){f+="</"+t(e)+">"}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,f="",l=[];e.length||r.length;){var g=i();if(f+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){l.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);l.reverse().forEach(o)}else"start"==g[0].event?l.push(g[0].node):l.pop(),c(g.splice(0,1)[0])}return f+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var f=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=f.length?t(f.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){for(var t=0;t<n.c.length;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function h(e,n,t,r){var a=r?"":w.classPrefix,i='<span class="'+a,o=t?"":"</span>";return i+=e+'">',i+n+o}function p(){if(!L.k)return n(B);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(B);r;){e+=n(B.substr(t,r.index-t));var a=g(L,r);a?(y+=a[1],e+=h(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(B)}return e+n(B.substr(t))}function d(){if(L.sL&&!x[L.sL])return n(B);var e=L.sL?f(L.sL,B,!0,M[L.sL]):l(B);return L.r>0&&(y+=e.r),"continuous"==L.subLanguageMode&&(M[L.sL]=e.top),h(e.language,e.value,!1,!0)}function b(){return void 0!==L.sL?d():p()}function v(e,t){var r=e.cN?h(e.cN,"",!0):"";e.rB?(k+=r,B=""):e.eB?(k+=n(t)+r,B=""):(k+=r,B=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(B+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(B+=t),k+=b();do L.cN&&(k+="</span>"),y+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),B="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(c(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"<unnamed>")+'"');return B+=t,t.length||1}var N=E(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,L=i||N,M={},k="";for(R=L;R!=N;R=R.parent)R.cN&&(k=h(R.cN,"",!0)+k);var B="",y=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),R=L;R.parent;R=R.parent)R.cN&&(k+="</span>");return{r:y,value:k,language:e,top:L}}catch(O){if(-1!=O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function l(e,t){t=t||w.languages||Object.keys(x);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(E(n)){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return w.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,w.tabReplace)})),w.useBR&&(e=e.replace(/\n/g,"<br>")),e}function h(e,n,t){var r=n?R[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=i(e);if(!a(n)){var t;w.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):t=e;var r=t.textContent,o=n?f(n,r,!0):l(r),s=u(t);if(s.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=o.value,o.value=c(s,u(p),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=h(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){w=o(w,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=x[n]=t(e);r.aliases&&r.aliases.forEach(function(e){R[e]=n})}function N(){return Object.keys(x)}function E(e){return x[e]||x[R[e]]}var w={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},x={},R={};return e.highlight=f,e.highlightAuto=l,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=E,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",bK:"TODO FIXME NOTE BUG XXX",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"},i={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},o=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:i,l:o,i:"</",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"preprocessor",b:"#",e:"$",c:[{cN:"title",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:o,c:[e.UTM]},{cN:"variable",b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"[a-z\\d_]*_t"},r={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","cc","h","c++","h++","hpp"],k:r,i:"</",c:[e,t.CLCM,t.CBCM,{cN:"string",v:[t.inherit(t.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},t.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line pragma",c:[{b:/\\\n/,r:0},{b:'include\\s*[<"]',e:'[>"]',k:"include",i:"\\n"},t.CLCM]},{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:r,c:["self",e]},{b:t.IR+"::",k:r},{bK:"new throw return else",r:0},{cN:"function",b:"("+t.IR+"\\s+)+"+t.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:t.IR+"\\s*\\(",rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[t.CBCM]},t.CLCM,t.CBCM]}]}});
@@ -0,0 +1 @@
1
+ !function(){function a(b,c,d){var e=a.resolve(b);if(null==e){d=d||b,c=c||"root";var f=new Error('Failed to require "'+d+'" from "'+c+'"');throw f.path=d,f.parent=c,f.require=!0,f}var g=a.modules[e];if(!g._resolving&&!g.exports){var h={};h.exports={},h.client=h.component=!0,g._resolving=!0,g.call(this,h.exports,a.relative(e),h),delete g._resolving,g.exports=h.exports}return g.exports}a.modules={},a.aliases={},a.resolve=function(b){"/"===b.charAt(0)&&(b=b.slice(1));for(var c=[b,b+".js",b+".json",b+"/index.js",b+"/index.json"],d=0;d<c.length;d++){var b=c[d];if(a.modules.hasOwnProperty(b))return b;if(a.aliases.hasOwnProperty(b))return a.aliases[b]}},a.normalize=function(a,b){var c=[];if("."!=b.charAt(0))return b;a=a.split("/"),b=b.split("/");for(var d=0;d<b.length;++d)".."==b[d]?a.pop():"."!=b[d]&&""!=b[d]&&c.push(b[d]);return a.concat(c).join("/")},a.register=function(b,c){a.modules[b]=c},a.alias=function(b,c){if(!a.modules.hasOwnProperty(b))throw new Error('Failed to alias "'+b+'", it does not exist');a.aliases[c]=b},a.relative=function(b){function c(a,b){for(var c=a.length;c--;)if(a[c]===b)return c;return-1}function d(c){var e=d.resolve(c);return a(e,b,c)}var e=a.normalize(b,"..");return d.resolve=function(d){var f=d.charAt(0);if("/"==f)return d.slice(1);if("."==f)return a.normalize(e,d);var g=b.split("/"),h=c(g,"deps")+1;return h||(h=0),d=g.slice(0,h+1).join("/")+"/deps/"+d},d.exists=function(b){return a.modules.hasOwnProperty(d.resolve(b))},d},a.register("component-classes/index.js",function(a,b,c){function d(a){if(!a)throw new Error("A DOM element reference is required");this.el=a,this.list=a.classList}var e=b("indexof"),f=/\s+/,g=Object.prototype.toString;c.exports=function(a){return new d(a)},d.prototype.add=function(a){if(this.list)return this.list.add(a),this;var b=this.array(),c=e(b,a);return~c||b.push(a),this.el.className=b.join(" "),this},d.prototype.remove=function(a){if("[object RegExp]"==g.call(a))return this.removeMatching(a);if(this.list)return this.list.remove(a),this;var b=this.array(),c=e(b,a);return~c&&b.splice(c,1),this.el.className=b.join(" "),this},d.prototype.removeMatching=function(a){for(var b=this.array(),c=0;c<b.length;c++)a.test(b[c])&&this.remove(b[c]);return this},d.prototype.toggle=function(a,b){return this.list?("undefined"!=typeof b?b!==this.list.toggle(a,b)&&this.list.toggle(a):this.list.toggle(a),this):("undefined"!=typeof b?b?this.add(a):this.remove(a):this.has(a)?this.remove(a):this.add(a),this)},d.prototype.array=function(){var a=this.el.className.replace(/^\s+|\s+$/g,""),b=a.split(f);return""===b[0]&&b.shift(),b},d.prototype.has=d.prototype.contains=function(a){return this.list?this.list.contains(a):!!~e(this.array(),a)}}),a.register("segmentio-extend/index.js",function(a,b,c){c.exports=function(a){for(var b,c=Array.prototype.slice.call(arguments,1),d=0;b=c[d];d++)if(b)for(var e in b)a[e]=b[e];return a}}),a.register("component-indexof/index.js",function(a,b,c){c.exports=function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}}),a.register("component-event/index.js",function(a){var b=window.addEventListener?"addEventListener":"attachEvent",c=window.removeEventListener?"removeEventListener":"detachEvent",d="addEventListener"!==b?"on":"";a.bind=function(a,c,e,f){return a[b](d+c,e,f||!1),e},a.unbind=function(a,b,e,f){return a[c](d+b,e,f||!1),e}}),a.register("timoxley-to-array/index.js",function(a,b,c){function d(a){return"[object Array]"===Object.prototype.toString.call(a)}c.exports=function(a){if("undefined"==typeof a)return[];if(null===a)return[null];if(a===window)return[window];if("string"==typeof a)return[a];if(d(a))return a;if("number"!=typeof a.length)return[a];if("function"==typeof a&&a instanceof Function)return[a];for(var b=[],c=0;c<a.length;c++)(Object.prototype.hasOwnProperty.call(a,c)||c in a)&&b.push(a[c]);return b.length?b:[]}}),a.register("javve-events/index.js",function(a,b){var c=b("event"),d=b("to-array");a.bind=function(a,b,e,f){a=d(a);for(var g=0;g<a.length;g++)c.bind(a[g],b,e,f)},a.unbind=function(a,b,e,f){a=d(a);for(var g=0;g<a.length;g++)c.unbind(a[g],b,e,f)}}),a.register("javve-get-by-class/index.js",function(a,b,c){c.exports=function(){return document.getElementsByClassName?function(a,b,c){return c?a.getElementsByClassName(b)[0]:a.getElementsByClassName(b)}:document.querySelector?function(a,b,c){return b="."+b,c?a.querySelector(b):a.querySelectorAll(b)}:function(a,b,c){var d=[],e="*";null==a&&(a=document);for(var f=a.getElementsByTagName(e),g=f.length,h=new RegExp("(^|\\s)"+b+"(\\s|$)"),i=0,j=0;g>i;i++)if(h.test(f[i].className)){if(c)return f[i];d[j]=f[i],j++}return d}}()}),a.register("javve-get-attribute/index.js",function(a,b,c){c.exports=function(a,b){var c=a.getAttribute&&a.getAttribute(b)||null;if(!c)for(var d=a.attributes,e=d.length,f=0;e>f;f++)void 0!==b[f]&&b[f].nodeName===b&&(c=b[f].nodeValue);return c}}),a.register("javve-natural-sort/index.js",function(a,b,c){c.exports=function(a,b,c){var d,e,f=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,g=/(^[ ]*|[ ]*$)/g,h=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,i=/^0x[0-9a-f]+$/i,j=/^0/,c=c||{},k=function(a){return c.insensitive&&(""+a).toLowerCase()||""+a},l=k(a).replace(g,"")||"",m=k(b).replace(g,"")||"",n=l.replace(f,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),o=m.replace(f,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),p=parseInt(l.match(i))||1!=n.length&&l.match(h)&&Date.parse(l),q=parseInt(m.match(i))||p&&m.match(h)&&Date.parse(m)||null,r=c.desc?-1:1;if(q){if(q>p)return-1*r;if(p>q)return 1*r}for(var s=0,t=Math.max(n.length,o.length);t>s;s++){if(d=!(n[s]||"").match(j)&&parseFloat(n[s])||n[s]||0,e=!(o[s]||"").match(j)&&parseFloat(o[s])||o[s]||0,isNaN(d)!==isNaN(e))return isNaN(d)?1:-1;if(typeof d!=typeof e&&(d+="",e+=""),e>d)return-1*r;if(d>e)return 1*r}return 0}}),a.register("javve-to-string/index.js",function(a,b,c){c.exports=function(a){return a=void 0===a?"":a,a=null===a?"":a,a=a.toString()}}),a.register("component-type/index.js",function(a,b,c){var d=Object.prototype.toString;c.exports=function(a){switch(d.call(a)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===a?"null":void 0===a?"undefined":a!==a?"nan":a&&1===a.nodeType?"element":typeof a.valueOf()}}),a.register("list.js/index.js",function(a,b,c){!function(a,d){"use strict";var e=a.document,f=b("get-by-class"),g=b("extend"),h=b("indexof"),i=function(a,c,i){var j,k=this,l=b("./src/item")(k),m=b("./src/add-async")(k),n=b("./src/parse")(k);j={start:function(){k.listClass="list",k.searchClass="search",k.sortClass="sort",k.page=200,k.i=1,k.items=[],k.visibleItems=[],k.matchingItems=[],k.searched=!1,k.filtered=!1,k.handlers={updated:[]},k.plugins={},k.helpers={getByClass:f,extend:g,indexOf:h},g(k,c),k.listContainer="string"==typeof a?e.getElementById(a):a,k.listContainer&&(k.list=f(k.listContainer,k.listClass,!0),k.templater=b("./src/templater")(k),k.search=b("./src/search")(k),k.filter=b("./src/filter")(k),k.sort=b("./src/sort")(k),this.items(),k.update(),this.plugins())},items:function(){n(k.list),i!==d&&k.add(i)},plugins:function(){for(var a=0;a<k.plugins.length;a++){var b=k.plugins[a];k[b.name]=b,b.init(k)}}},this.add=function(a,b){if(b)return m(a,b),void 0;var c=[],e=!1;a[0]===d&&(a=[a]);for(var f=0,g=a.length;g>f;f++){var h=null;a[f]instanceof l?(h=a[f],h.reload()):(e=k.items.length>k.page?!0:!1,h=new l(a[f],d,e)),k.items.push(h),c.push(h)}return k.update(),c},this.show=function(a,b){return this.i=a,this.page=b,k.update(),k},this.remove=function(a,b,c){for(var d=0,e=0,f=k.items.length;f>e;e++)k.items[e].values()[a]==b&&(k.templater.remove(k.items[e],c),k.items.splice(e,1),f--,e--,d++);return k.update(),d},this.get=function(a,b){for(var c=[],d=0,e=k.items.length;e>d;d++){var f=k.items[d];f.values()[a]==b&&c.push(f)}return c},this.size=function(){return k.items.length},this.clear=function(){return k.templater.clear(),k.items=[],k},this.on=function(a,b){return k.handlers[a].push(b),k},this.off=function(a,b){var c=k.handlers[a],d=h(c,b);return d>-1&&c.splice(d,1),k},this.trigger=function(a){for(var b=k.handlers[a].length;b--;)k.handlers[a][b](k);return k},this.reset={filter:function(){for(var a=k.items,b=a.length;b--;)a[b].filtered=!1;return k},search:function(){for(var a=k.items,b=a.length;b--;)a[b].found=!1;return k}},this.update=function(){var a=k.items,b=a.length;k.visibleItems=[],k.matchingItems=[],k.templater.clear();for(var c=0;b>c;c++)a[c].matching()&&k.matchingItems.length+1>=k.i&&k.visibleItems.length<k.page?(a[c].show(),k.visibleItems.push(a[c]),k.matchingItems.push(a[c])):a[c].matching()?(k.matchingItems.push(a[c]),a[c].hide()):a[c].hide();return k.trigger("updated"),k},j.start()};c.exports=i}(window)}),a.register("list.js/src/search.js",function(a,b,c){var d=b("events"),e=b("get-by-class"),f=b("to-string");c.exports=function(a){var b,c,g,h,i={resetList:function(){a.i=1,a.templater.clear(),h=void 0},setOptions:function(a){2==a.length&&a[1]instanceof Array?c=a[1]:2==a.length&&"function"==typeof a[1]?h=a[1]:3==a.length&&(c=a[1],h=a[2])},setColumns:function(){c=void 0===c?i.toArray(a.items[0].values()):c},setSearchString:function(a){a=f(a).toLowerCase(),a=a.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"),g=a},toArray:function(a){var b=[];for(var c in a)b.push(c);return b}},j={list:function(){for(var b=0,c=a.items.length;c>b;b++)j.item(a.items[b])},item:function(a){a.found=!1;for(var b=0,d=c.length;d>b;b++)if(j.values(a.values(),c[b]))return a.found=!0,void 0},values:function(a,c){return a.hasOwnProperty(c)&&(b=f(a[c]).toLowerCase(),""!==g&&b.search(g)>-1)?!0:!1},reset:function(){a.reset.search(),a.searched=!1}},k=function(b){return a.trigger("searchStart"),i.resetList(),i.setSearchString(b),i.setOptions(arguments),i.setColumns(),""===g?j.reset():(a.searched=!0,h?h(g,c):j.list()),a.update(),a.trigger("searchComplete"),a.visibleItems};return a.handlers.searchStart=a.handlers.searchStart||[],a.handlers.searchComplete=a.handlers.searchComplete||[],d.bind(e(a.listContainer,a.searchClass),"keyup",function(b){var c=b.target||b.srcElement,d=""===c.value&&!a.searched;d||k(c.value)}),d.bind(e(a.listContainer,a.searchClass),"input",function(a){var b=a.target||a.srcElement;""===b.value&&k("")}),a.helpers.toString=f,k}}),a.register("list.js/src/sort.js",function(a,b,c){var d=b("natural-sort"),e=b("classes"),f=b("events"),g=b("get-by-class"),h=b("get-attribute");c.exports=function(a){a.sortFunction=a.sortFunction||function(a,b,c){return c.desc="desc"==c.order?!0:!1,d(a.values()[c.valueName],b.values()[c.valueName],c)};var b={els:void 0,clear:function(){for(var a=0,c=b.els.length;c>a;a++)e(b.els[a]).remove("asc"),e(b.els[a]).remove("desc")},getOrder:function(a){var b=h(a,"data-order");return"asc"==b||"desc"==b?b:e(a).has("desc")?"asc":e(a).has("asc")?"desc":"asc"},getInSensitive:function(a,b){var c=h(a,"data-insensitive");b.insensitive="true"===c?!0:!1},setOrder:function(a){for(var c=0,d=b.els.length;d>c;c++){var f=b.els[c];if(h(f,"data-sort")===a.valueName){var g=h(f,"data-order");"asc"==g||"desc"==g?g==a.order&&e(f).add(a.order):e(f).add(a.order)}}}},c=function(){a.trigger("sortStart"),options={};var c=arguments[0].currentTarget||arguments[0].srcElement||void 0;c?(options.valueName=h(c,"data-sort"),b.getInSensitive(c,options),options.order=b.getOrder(c)):(options=arguments[1]||options,options.valueName=arguments[0],options.order=options.order||"asc",options.insensitive="undefined"==typeof options.insensitive?!0:options.insensitive),b.clear(),b.setOrder(options),options.sortFunction=options.sortFunction||a.sortFunction,a.items.sort(function(a,b){return options.sortFunction(a,b,options)}),a.update(),a.trigger("sortComplete")};return a.handlers.sortStart=a.handlers.sortStart||[],a.handlers.sortComplete=a.handlers.sortComplete||[],b.els=g(a.listContainer,a.sortClass),f.bind(b.els,"click",c),a.on("searchStart",b.clear),a.on("filterStart",b.clear),a.helpers.classes=e,a.helpers.naturalSort=d,a.helpers.events=f,a.helpers.getAttribute=h,c}}),a.register("list.js/src/item.js",function(a,b,c){c.exports=function(a){return function(b,c,d){var e=this;this._values={},this.found=!1,this.filtered=!1;var f=function(b,c,d){if(void 0===c)d?e.values(b,d):e.values(b);else{e.elm=c;var f=a.templater.get(e,b);e.values(f)}};this.values=function(b,c){if(void 0===b)return e._values;for(var d in b)e._values[d]=b[d];c!==!0&&a.templater.set(e,e.values())},this.show=function(){a.templater.show(e)},this.hide=function(){a.templater.hide(e)},this.matching=function(){return a.filtered&&a.searched&&e.found&&e.filtered||a.filtered&&!a.searched&&e.filtered||!a.filtered&&a.searched&&e.found||!a.filtered&&!a.searched},this.visible=function(){return e.elm.parentNode==a.list?!0:!1},f(b,c,d)}}}),a.register("list.js/src/templater.js",function(a,b,c){var d=b("get-by-class"),e=function(a){function b(b){if(void 0===b){for(var c=a.list.childNodes,d=0,e=c.length;e>d;d++)if(void 0===c[d].data)return c[d];return null}if(-1!==b.indexOf("<")){var f=document.createElement("div");return f.innerHTML=b,f.firstChild}return document.getElementById(a.item)}var c=b(a.item),e=this;this.get=function(a,b){e.create(a);for(var c={},f=0,g=b.length;g>f;f++){var h=d(a.elm,b[f],!0);c[b[f]]=h?h.innerHTML:""}return c},this.set=function(a,b){if(!e.create(a))for(var c in b)if(b.hasOwnProperty(c)){var f=d(a.elm,c,!0);f&&("IMG"===f.tagName&&""!==b[c]?f.src=b[c]:f.innerHTML=b[c])}},this.create=function(a){if(void 0!==a.elm)return!1;var b=c.cloneNode(!0);return b.removeAttribute("id"),a.elm=b,e.set(a,a.values()),!0},this.remove=function(b){a.list.removeChild(b.elm)},this.show=function(b){e.create(b),a.list.appendChild(b.elm)},this.hide=function(b){void 0!==b.elm&&b.elm.parentNode===a.list&&a.list.removeChild(b.elm)},this.clear=function(){if(a.list.hasChildNodes())for(;a.list.childNodes.length>=1;)a.list.removeChild(a.list.firstChild)}};c.exports=function(a){return new e(a)}}),a.register("list.js/src/filter.js",function(a,b,c){c.exports=function(a){return a.handlers.filterStart=a.handlers.filterStart||[],a.handlers.filterComplete=a.handlers.filterComplete||[],function(b){if(a.trigger("filterStart"),a.i=1,a.reset.filter(),void 0===b)a.filtered=!1;else{a.filtered=!0;for(var c=a.items,d=0,e=c.length;e>d;d++){var f=c[d];f.filtered=b(f)?!0:!1}}return a.update(),a.trigger("filterComplete"),a.visibleItems}}}),a.register("list.js/src/add-async.js",function(a,b,c){c.exports=function(a){return function(b,c,d){var e=b.splice(0,100);d=d||[],d=d.concat(a.add(e)),b.length>0?setTimeout(function(){addAsync(b,c,d)},10):(a.update(),c(d))}}}),a.register("list.js/src/parse.js",function(a,b,c){c.exports=function(a){var c=b("./item")(a),d=function(a){for(var b=a.childNodes,c=[],d=0,e=b.length;e>d;d++)void 0===b[d].data&&c.push(b[d]);return c},e=function(b,d){for(var e=0,f=b.length;f>e;e++)a.items.push(new c(d,b[e]))},f=function(b,c){var d=b.splice(0,100);e(d,c),b.length>0?setTimeout(function(){init.items.indexAsync(b,c)},10):a.update()};return function(){var b=d(a.list),c=a.valueNames;a.indexAsync?f(b,c):e(b,c)}}}),a.alias("component-classes/index.js","list.js/deps/classes/index.js"),a.alias("component-classes/index.js","classes/index.js"),a.alias("component-indexof/index.js","component-classes/deps/indexof/index.js"),a.alias("segmentio-extend/index.js","list.js/deps/extend/index.js"),a.alias("segmentio-extend/index.js","extend/index.js"),a.alias("component-indexof/index.js","list.js/deps/indexof/index.js"),a.alias("component-indexof/index.js","indexof/index.js"),a.alias("javve-events/index.js","list.js/deps/events/index.js"),a.alias("javve-events/index.js","events/index.js"),a.alias("component-event/index.js","javve-events/deps/event/index.js"),a.alias("timoxley-to-array/index.js","javve-events/deps/to-array/index.js"),a.alias("javve-get-by-class/index.js","list.js/deps/get-by-class/index.js"),a.alias("javve-get-by-class/index.js","get-by-class/index.js"),a.alias("javve-get-attribute/index.js","list.js/deps/get-attribute/index.js"),a.alias("javve-get-attribute/index.js","get-attribute/index.js"),a.alias("javve-natural-sort/index.js","list.js/deps/natural-sort/index.js"),a.alias("javve-natural-sort/index.js","natural-sort/index.js"),a.alias("javve-to-string/index.js","list.js/deps/to-string/index.js"),a.alias("javve-to-string/index.js","list.js/deps/to-string/index.js"),a.alias("javve-to-string/index.js","to-string/index.js"),a.alias("javve-to-string/index.js","javve-to-string/index.js"),a.alias("component-type/index.js","list.js/deps/type/index.js"),a.alias("component-type/index.js","type/index.js"),"object"==typeof exports?module.exports=a("list.js"):"function"==typeof define&&define.amd?define(function(){return a("list.js")}):this.List=a("list.js")}();
@@ -0,0 +1,316 @@
1
+ /* --------------------------------------------------------
2
+ Slather stylesheet
3
+
4
+ version: 0.1
5
+ author: Ikhsan Assaat (@ixnixnixn)
6
+ ----------------------------------------------------------*/
7
+
8
+ /* General */
9
+ html {
10
+ position: relative;
11
+ min-height: 100%;
12
+ }
13
+ body {
14
+ font: 16px "Helvetica", sans-serif;
15
+ margin: 0 0 120px;
16
+ color: #333;
17
+ }
18
+ .row { margin: 0 2em; }
19
+
20
+ /* Header */
21
+ header { margin-top: 1em; }
22
+ header img { width: auto; height: 120px; }
23
+
24
+ /* Coverage */
25
+ #reports > h2 { margin-bottom: 0; }
26
+ #reports > h4 { margin-top: 5px; }
27
+ .percentage {
28
+ padding: 4px ;
29
+ font-weight: bold;
30
+ }
31
+ .cov_high { color: #67CF7C; }
32
+ .cov_medium { color: #F89404; }
33
+ .cov_low { color: #F86769; }
34
+ .cov_title { margin-bottom: 0; }
35
+ .cov_subtitle { margin-top: 0.2em; }
36
+ .cov_filepath { font-style: italic; }
37
+
38
+ /* Index Table */
39
+ table.coverage_list {
40
+ width: 90%;
41
+ min-width: 400px;
42
+ }
43
+ table.coverage_list th,
44
+ table.coverage_list td {
45
+ padding: .6em .5em;
46
+ text-align: left;
47
+ }
48
+ table.coverage_list th.col_num { width: 70px; }
49
+ table.coverage_list th.col_percent { width: 75px; }
50
+ table.coverage_list thead, tfoot { background: #FDCD9B; }
51
+ table.coverage_list tbody tr:hover { background: #FCF2E6; }
52
+ table.coverage_list tbody td { border-bottom: 1px solid #CCC; }
53
+ table.coverage_list td a {
54
+ color: #333;
55
+ text-decoration: none;
56
+ border-bottom: 1px dotted;
57
+ }
58
+ table.coverage_list td a:hover {
59
+ border-bottom: none;
60
+ }
61
+
62
+ /* Source Code */
63
+ table.source_code {
64
+ width: 100%;
65
+ max-width: 1200px;
66
+ min-width: 400px;
67
+ font-size: 13px;
68
+ border-spacing: 0;
69
+ background: #FCF2E6;
70
+ padding: 1.2em 1em;
71
+ margin-bottom: 2em;
72
+ }
73
+
74
+ table.source_code td {
75
+ padding-bottom: 0.3em;
76
+ }
77
+ table.source_code tr.missed td { background-color: rgba(248, 103, 105, 0.2); }
78
+ table.source_code tr.covered td { background-color: rgba(103, 207, 124, 0.2); }
79
+ table.source_code td.num {
80
+ border-right: 1px rgba(0,0,0,0.1) solid;
81
+ text-align: right;
82
+ padding-right: 1em;
83
+ width: 30px;
84
+ }
85
+ table.source_code td.src {
86
+ border-left: 1px rgba(255,255,255,0.7) solid;
87
+ padding-left: 1em;
88
+ }
89
+ table.source_code td.src pre {
90
+ white-space: pre-wrap;
91
+ white-space: -moz-pre-wrap;
92
+ white-space: -pre-wrap;
93
+ white-space: -o-pre-wrap;
94
+ word-wrap: break-word;
95
+ margin: 0;
96
+ }
97
+ table.source_code td.src pre code { font: 13px "Menlo", "Courier New"; }
98
+
99
+ table.source_code td.coverage {
100
+ text-align: right;
101
+ padding-right: 0.5em;
102
+ }
103
+
104
+ /* Footer */
105
+ footer {
106
+ background-color: #67CDCF;
107
+ height: 80px;
108
+
109
+ position: absolute;
110
+ left: 0;
111
+ bottom: 0;
112
+ width: 100%;
113
+ overflow:hidden;
114
+ }
115
+
116
+ footer p, footer a {
117
+ color: #ffffff;
118
+ font-weight: bold;
119
+ text-align: center;
120
+ }
121
+
122
+
123
+ /* ----------------------------------------------------------
124
+ Syntax Highlighting using highlight.js (https://highlightjs.org)
125
+ ------------------------------------------------------------- */
126
+ .hljs {
127
+ display: block;
128
+ overflow-x: auto;
129
+ -webkit-text-size-adjust: none;
130
+ }
131
+
132
+ .hljs,
133
+ .hljs-subst,
134
+ .hljs-tag .hljs-title,
135
+ .nginx .hljs-title {
136
+ color: #333;
137
+ }
138
+
139
+ .hljs-string,
140
+ .hljs-title,
141
+ .hljs-constant,
142
+ .hljs-parent,
143
+ .hljs-tag .hljs-value,
144
+ .hljs-rule .hljs-value,
145
+ .hljs-preprocessor,
146
+ .hljs-pragma,
147
+ .hljs-name,
148
+ .haml .hljs-symbol,
149
+ .ruby .hljs-symbol,
150
+ .ruby .hljs-symbol .hljs-string,
151
+ .hljs-template_tag,
152
+ .django .hljs-variable,
153
+ .smalltalk .hljs-class,
154
+ .hljs-addition,
155
+ .hljs-flow,
156
+ .hljs-stream,
157
+ .bash .hljs-variable,
158
+ .pf .hljs-variable,
159
+ .apache .hljs-tag,
160
+ .apache .hljs-cbracket,
161
+ .tex .hljs-command,
162
+ .tex .hljs-special,
163
+ .erlang_repl .hljs-function_or_atom,
164
+ .asciidoc .hljs-header,
165
+ .markdown .hljs-header,
166
+ .coffeescript .hljs-attribute,
167
+ .tp .hljs-variable {
168
+ color: #D14F4F;
169
+ }
170
+
171
+ .smartquote,
172
+ .hljs-comment,
173
+ .hljs-annotation,
174
+ .diff .hljs-header,
175
+ .hljs-chunk,
176
+ .asciidoc .hljs-blockquote,
177
+ .markdown .hljs-blockquote {
178
+ color: #888;
179
+ }
180
+
181
+ .hljs-number,
182
+ .hljs-date,
183
+ .hljs-regexp,
184
+ .hljs-literal,
185
+ .hljs-hexcolor,
186
+ .smalltalk .hljs-symbol,
187
+ .smalltalk .hljs-char,
188
+ .go .hljs-constant,
189
+ .hljs-change,
190
+ .lasso .hljs-variable,
191
+ .makefile .hljs-variable,
192
+ .asciidoc .hljs-bullet,
193
+ .markdown .hljs-bullet,
194
+ .asciidoc .hljs-link_url,
195
+ .markdown .hljs-link_url {
196
+ color: #05A5A8;
197
+ }
198
+
199
+ .hljs-label,
200
+ .ruby .hljs-string,
201
+ .hljs-decorator,
202
+ .hljs-filter .hljs-argument,
203
+ .hljs-localvars,
204
+ .hljs-array,
205
+ .hljs-attr_selector,
206
+ .hljs-important,
207
+ .hljs-pseudo,
208
+ .hljs-pi,
209
+ .haml .hljs-bullet,
210
+ .hljs-doctype,
211
+ .hljs-deletion,
212
+ .hljs-envvar,
213
+ .hljs-shebang,
214
+ .apache .hljs-sqbracket,
215
+ .nginx .hljs-built_in,
216
+ .tex .hljs-formula,
217
+ .erlang_repl .hljs-reserved,
218
+ .hljs-prompt,
219
+ .asciidoc .hljs-link_label,
220
+ .markdown .hljs-link_label,
221
+ .vhdl .hljs-attribute,
222
+ .clojure .hljs-attribute,
223
+ .asciidoc .hljs-attribute,
224
+ .lasso .hljs-attribute,
225
+ .coffeescript .hljs-property,
226
+ .hljs-phony {
227
+ color: #087599;
228
+ }
229
+
230
+ .hljs-keyword,
231
+ .hljs-id,
232
+ .hljs-title,
233
+ .hljs-built_in,
234
+ .css .hljs-tag,
235
+ .hljs-doctag,
236
+ .smalltalk .hljs-class,
237
+ .hljs-winutils,
238
+ .bash .hljs-variable,
239
+ .pf .hljs-variable,
240
+ .apache .hljs-tag,
241
+ .hljs-type,
242
+ .hljs-typename,
243
+ .tex .hljs-command,
244
+ .asciidoc .hljs-strong,
245
+ .markdown .hljs-strong,
246
+ .hljs-request,
247
+ .hljs-status,
248
+ .tp .hljs-data,
249
+ .tp .hljs-io {
250
+ font-weight: bold;
251
+ }
252
+
253
+ .asciidoc .hljs-emphasis,
254
+ .markdown .hljs-emphasis,
255
+ .tp .hljs-units {
256
+ font-style: italic;
257
+ }
258
+
259
+ .nginx .hljs-built_in {
260
+ font-weight: normal;
261
+ }
262
+
263
+ .coffeescript .javascript,
264
+ .javascript .xml,
265
+ .lasso .markup,
266
+ .tex .hljs-formula,
267
+ .xml .javascript,
268
+ .xml .vbscript,
269
+ .xml .css,
270
+ .xml .hljs-cdata {
271
+ opacity: 0.5;
272
+ }
273
+
274
+ /* -------------------------------------------------------
275
+ Sorting & Filtering with List.js (http://www.listjs.com/)
276
+ ------------------------------------------------------- */
277
+
278
+ input.search {
279
+ border:solid 1px #ccc;
280
+ border-radius: 4px;
281
+ padding:7px;
282
+ margin-bottom:10px;
283
+ font-size: 12px;
284
+ }
285
+ input.search:focus {
286
+ outline:none;
287
+ border-color:#aaa;
288
+ }
289
+
290
+ th.sort::-moz-selection { background:transparent; }
291
+ th.sort::selection { background:transparent; }
292
+ th.sort { cursor:pointer; }
293
+ th.sort:after {
294
+ content:'';
295
+ display:inline-block;
296
+ width: 0;
297
+ height: 0;
298
+ position: relative;
299
+ top: -3px;
300
+ right: -6px;
301
+ border-width:0 4px 4px;
302
+ border-style:solid;
303
+ border-color:#404040 transparent;
304
+ visibility:hidden;
305
+ }
306
+ th.sort:hover:after { visibility:visible; }
307
+ th.sort.desc:after,
308
+ th.sort.asc:after,
309
+ th.sort.asc:hover:after {
310
+ visibility:visible;
311
+ opacity:0.6;
312
+ }
313
+ th.sort.desc:after {
314
+ border-bottom:none;
315
+ border-width:4px 4px 0;
316
+ }
data/bin/slather CHANGED
@@ -13,11 +13,14 @@ Clamp do
13
13
 
14
14
  option ["--travis", "-t"], :flag, "Indicate that the builds are running on Travis CI"
15
15
  option ["--circleci"], :flag, "Indicate that the builds are running on CircleCI"
16
+ option ["--jenkins"], :flag, "Indicate that the builds are running on Jenkins"
16
17
 
17
18
  option ["--coveralls", "-c"], :flag, "Post coverage results to coveralls"
18
19
  option ["--simple-output", "-s"], :flag, "Output coverage results to the terminal"
19
20
  option ["--gutter-json", "-g"], :flag, "Output coverage results as Gutter JSON format"
20
21
  option ["--cobertura-xml", "-x"], :flag, "Output coverage results as Cobertura XML format"
22
+ option ["--html", "-h"], :flag, "Output coverage results as static html pages"
23
+ option ["--show"], :flag, "Indicate that the static html pages will open automatically"
21
24
 
22
25
  option ["--build-directory", "-b"], "BUILD_DIRECTORY", "The directory where gcno files will be written to. Defaults to derived data."
23
26
  option ["--source-directory"], "SOURCE_DIRECTORY", "The directory where your source files are located."
@@ -26,7 +29,7 @@ Clamp do
26
29
 
27
30
  def execute
28
31
  puts "Slathering..."
29
-
32
+
30
33
  setup_service_name
31
34
  setup_ignore_list
32
35
  setup_build_directory
@@ -60,6 +63,8 @@ Clamp do
60
63
  project.ci_service = :travis_ci
61
64
  elsif circleci?
62
65
  project.ci_service = :circleci
66
+ elsif jenkins?
67
+ project.ci_service = :jenkins
63
68
  end
64
69
  end
65
70
 
@@ -87,6 +92,9 @@ Clamp do
87
92
  project.coverage_service = :gutter_json
88
93
  elsif cobertura_xml?
89
94
  project.coverage_service = :cobertura_xml
95
+ elsif html?
96
+ project.coverage_service = :html
97
+ project.show_html = show?
90
98
  end
91
99
  end
92
100