UNPKG

videogular2

Version:

Videogular is a video application framework for desktop and mobile powered by Angular 2.0

441 lines (440 loc) 14.1 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for controls/vg-time-display/vg-time-display.ts</title> <meta charset="utf-8" /> <link rel="stylesheet" href="../../prettify.css" /> <link rel="stylesheet" href="../../base.css" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type='text/css'> .coverage-summary .sorter { background-image: url(../../sort-arrow-sprite.png); } </style> </head> <body> <div class='wrapper'> <div class='pad1'> <h1> <a href="../../index.html">all files</a> / <a href="index.html">controls/vg-time-display/</a> vg-time-display.ts </h1> <div class='clearfix'> <div class='fl pad1y space-right2'> <span class="strong">58.82% </span> <span class="quiet">Statements</span> <span class='fraction'>30/51</span> </div> <div class='fl pad1y space-right2'> <span class="strong">42.86% </span> <span class="quiet">Branches</span> <span class='fraction'>6/14</span> </div> <div class='fl pad1y space-right2'> <span class="strong">50% </span> <span class="quiet">Functions</span> <span class='fraction'>5/10</span> </div> <div class='fl pad1y space-right2'> <span class="strong">58.7% </span> <span class="quiet">Lines</span> <span class='fraction'>27/46</span> </div> </div> </div> <div class='status-line medium'></div> <pre><table class="coverage"> <tr><td class="line-count quiet">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126</td><td class="line-coverage quiet"><span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Component, Input, ElementRef, OnInit, PipeTransform, Pipe, ViewEncapsulation, OnDestroy } from '@angular/core'; import { VgAPI } from '../../core/services/vg-api'; import { Subscription } from 'rxjs/Subscription'; &nbsp; // Workaround until we can use UTC with Angular Date Pipe &nbsp; export class VgUtcPipe implements PipeTransform { <span class="fstat-no" title="function not covered" > transform(value: number, format: string)</span>: string { <span class="cstat-no" title="statement not covered" > let date = new Date(value);</span> <span class="cstat-no" title="statement not covered" > let result = format;</span> <span class="cstat-no" title="statement not covered" > let ss: string|number = date.getUTCSeconds();</span> <span class="cstat-no" title="statement not covered" > let mm: string|number = date.getUTCMinutes();</span> <span class="cstat-no" title="statement not covered" > let hh: string|number = date.getUTCHours();</span> &nbsp; <span class="cstat-no" title="statement not covered" > if (ss &lt; 10) {</span> <span class="cstat-no" title="statement not covered" > ss = '0' + ss;</span> } <span class="cstat-no" title="statement not covered" > if (mm &lt; 10) {</span> <span class="cstat-no" title="statement not covered" > mm = '0' + mm;</span> } <span class="cstat-no" title="statement not covered" > if (hh &lt; 10) {</span> <span class="cstat-no" title="statement not covered" > hh = '0' + hh;</span> } &nbsp; <span class="cstat-no" title="statement not covered" > result = result.replace(/ss/g, &lt;string&gt;ss);</span> <span class="cstat-no" title="statement not covered" > result = result.replace(/mm/g, &lt;string&gt;mm);</span> <span class="cstat-no" title="statement not covered" > result = result.replace(/hh/g, &lt;string&gt;hh);</span> &nbsp; <span class="cstat-no" title="statement not covered" > return result;</span> } static decorators: DecoratorInvocation[] = [ { type: Pipe, args: [{ name: 'vgUtc' }, ] }, ]; /** @nocollapse */ static ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [ ]; } &nbsp; &nbsp; export class VgTimeDisplay implements OnInit, OnDestroy { vgFor: string; vgProperty: string = 'current'; vgFormat: string = 'mm:ss'; &nbsp; elem: HTMLElement; target: any; &nbsp; subscriptions: Subscription[] = []; &nbsp; constructor(ref: ElementRef, public API: VgAPI) { this.elem = ref.nativeElement; } &nbsp; <span class="fstat-no" title="function not covered" > ngOnInit() {</span> <span class="cstat-no" title="statement not covered" > if (this.API.isPlayerReady) {</span> <span class="cstat-no" title="statement not covered" > this.onPlayerReady();</span> } else { <span class="cstat-no" title="statement not covered" > this.subscriptions.push(this.API.playerReadyEvent.subscribe(<span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" ></span>this.onPlayerReady())</span>);</span> } } &nbsp; onPlayerReady() { this.target = this.API.getMediaById(this.vgFor); } &nbsp; getTime() { let t = 0; &nbsp; if (this.target) { t = Math.round(this.target.time[ this.vgProperty ]); t = isNaN(t) || this.target.isLive ? 0 : t; } &nbsp; return t; } &nbsp; <span class="fstat-no" title="function not covered" > ngOnDestroy() {</span> <span class="cstat-no" title="statement not covered" > this.subscriptions.forEach(<span class="fstat-no" title="function not covered" >s </span>=&gt; <span class="cstat-no" title="statement not covered" >s.unsubscribe())</span>;</span> } static decorators: DecoratorInvocation[] = [ { type: Component, args: [{ selector: 'vg-time-display', encapsulation: ViewEncapsulation.None, template: ` &lt;span *ngIf="target?.isLive"&gt;LIVE&lt;/span&gt; &lt;span *ngIf="!target?.isLive"&gt;{{ getTime() | vgUtc:vgFormat }}&lt;/span&gt; &lt;ng-content&gt;&lt;/ng-content&gt; `, styles: [ ` vg-time-display { -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; display: flex; justify-content: center; height: 50px; width: 60px; cursor: pointer; color: white; line-height: 50px; pointer-events: none; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; } ` ] }, ] }, ]; /** @nocollapse */ static ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [ {type: ElementRef, }, {type: VgAPI, }, ]; static propDecorators: {[key: string]: DecoratorInvocation[]} = { 'vgFor': [{ type: Input },], 'vgProperty': [{ type: Input },], 'vgFormat': [{ type: Input },], }; } &nbsp; interface DecoratorInvocation { type: Function; args?: any[]; } &nbsp;</pre></td></tr> </table></pre> <div class='push'></div><!-- for sticky footer --> </div><!-- /wrapper --> <div class='footer quiet pad2 space-top1 center small'> Code coverage generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 22 2017 07:44:32 GMT+0000 (UTC) </div> </div> <script src="../../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../../sorter.js"></script> </body> </html>