!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/cdk/testing"),require("@angular/cdk/coercion")):"function"==typeof define&&define.amd?define("@angular/material/slider/testing",["exports","@angular/cdk/testing","@angular/cdk/coercion"],e):e(((t=t||self).ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.slider=t.ng.material.slider||{},t.ng.material.slider.testing={}),t.ng.cdk.testing,t.ng.cdk.coercion)}(this,(function(t,e,n){"use strict";
/*! *****************************************************************************
    Copyright (c) Microsoft Corporation.

    Permission to use, copy, modify, and/or distribute this software for any
    purpose with or without fee is hereby granted.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
    ***************************************************************************** */var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function i(t,e,n,r){return new(n||(n=Promise))((function(i,o){function u(t){try{s(r.next(t))}catch(t){o(t)}}function a(t){try{s(r.throw(t))}catch(t){o(t)}}function s(t){t.done?i(t.value):function e(t){return t instanceof n?t:new n((function(e){e(t)}))}(t.value).then(u,a)}s((r=r.apply(t,e||[])).next())}))}function o(t,e){var n,r,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function s(o){if(n)throw new TypeError("Generator is already executing.");for(;u;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return u.label++,{value:o[1],done:!1};case 5:u.label++,r=o[1],o=[0];continue;case 7:o=u.ops.pop(),u.trys.pop();continue;default:if(!((i=(i=u.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){u=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){u.label=o[1];break}if(6===o[0]&&u.label<i[1]){u.label=i[1],i=o;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(o);break}i[2]&&u.ops.pop(),u.trys.pop();continue}o=e.call(t,u)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function u(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)u.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return u}function a(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(u(arguments[e]));return t}var s=function(t){function s(){var e=t.apply(this,a(arguments))||this;return e._textLabel=e.locatorFor(".mat-slider-thumb-label-text"),e._wrapper=e.locatorFor(".mat-slider-wrapper"),e}return function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(s,t),s.with=function(t){return void 0===t&&(t={}),new e.HarnessPredicate(s,t)},s.prototype.getId=function(){return i(this,void 0,void 0,(function(){var t;return o(this,(function(e){switch(e.label){case 0:return[4,this.host()];case 1:return[4,e.sent().getAttribute("id")];case 2:return[2,""!==(t=e.sent())?t:null]}}))}))},s.prototype.getDisplayValue=function(){return i(this,void 0,void 0,(function(){var t,n,r=this;return o(this,(function(i){switch(i.label){case 0:return[4,e.parallel((function(){return[r.host(),r._textLabel()]}))];case 1:return t=u.apply(void 0,[i.sent(),2]),n=t[1],[4,t[0].hasClass("mat-slider-thumb-label-showing")];case 2:return i.sent()?[2,n.text()]:[2,null]}}))}))},s.prototype.getPercentage=function(){return i(this,void 0,void 0,(function(){var t;return o(this,(function(e){switch(e.label){case 0:return t=this._calculatePercentage,[4,this.getValue()];case 1:return[2,t.apply(this,[e.sent()])]}}))}))},s.prototype.getValue=function(){return i(this,void 0,void 0,(function(){var t;return o(this,(function(e){switch(e.label){case 0:return t=n.coerceNumberProperty,[4,this.host()];case 1:return[4,e.sent().getAttribute("aria-valuenow")];case 2:return[2,t.apply(void 0,[e.sent()])]}}))}))},s.prototype.getMaxValue=function(){return i(this,void 0,void 0,(function(){var t;return o(this,(function(e){switch(e.label){case 0:return t=n.coerceNumberProperty,[4,this.host()];case 1:return[4,e.sent().getAttribute("aria-valuemax")];case 2:return[2,t.apply(void 0,[e.sent()])]}}))}))},s.prototype.getMinValue=function(){return i(this,void 0,void 0,(function(){var t;return o(this,(function(e){switch(e.label){case 0:return t=n.coerceNumberProperty,[4,this.host()];case 1:return[4,e.sent().getAttribute("aria-valuemin")];case 2:return[2,t.apply(void 0,[e.sent()])]}}))}))},s.prototype.isDisabled=function(){return i(this,void 0,void 0,(function(){var t,e;return o(this,(function(r){switch(r.label){case 0:return[4,this.host()];case 1:return t=r.sent().getAttribute("aria-disabled"),e=n.coerceBooleanProperty,[4,t];case 2:return[2,e.apply(void 0,[r.sent()])]}}))}))},s.prototype.getOrientation=function(){return i(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return[4,this.host()];case 1:return[2,t.sent().getAttribute("aria-orientation")]}}))}))},s.prototype.setValue=function(t){return i(this,void 0,void 0,(function(){var n,r,i,a,s,c,l,f,h,p,d,v=this;return o(this,(function(o){switch(o.label){case 0:return[4,e.parallel((function(){return[v.host(),v._wrapper(),v.getOrientation()]}))];case 1:return n=u.apply(void 0,[o.sent(),3]),r=n[0],i=n[1],a=n[2],[4,this._calculatePercentage(t)];case 2:return s=o.sent(),[4,i.getDimensions()];case 3:return c=o.sent(),l=c.height,f=c.width,h="vertical"===a,[4,r.hasClass("mat-slider-invert-mouse-coords")];case 4:return o.sent()&&(s=1-s),p=h?0:Math.round(f*s),d=h?Math.round(l*s):0,[4,i.click(p,d)];case 5:return o.sent(),[2]}}))}))},s.prototype.focus=function(){return i(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return[4,this.host()];case 1:return[2,t.sent().focus()]}}))}))},s.prototype.blur=function(){return i(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return[4,this.host()];case 1:return[2,t.sent().blur()]}}))}))},s.prototype.isFocused=function(){return i(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return[4,this.host()];case 1:return[2,t.sent().isFocused()]}}))}))},s.prototype._calculatePercentage=function(t){return i(this,void 0,void 0,(function(){var n,r,i=this;return o(this,(function(o){switch(o.label){case 0:return[4,e.parallel((function(){return[i.getMinValue(),i.getMaxValue()]}))];case 1:return n=u.apply(void 0,[o.sent(),2]),[2,(t-(r=n[0]))/(n[1]-r)]}}))}))},s}(e.ComponentHarness);s.hostSelector=".mat-slider",
/**
     * @license
     * Copyright Google LLC All Rights Reserved.
     *
     * Use of this source code is governed by an MIT-style license that can be
     * found in the LICENSE file at https://angular.io/license
     */
/**
     * @license
     * Copyright Google LLC All Rights Reserved.
     *
     * Use of this source code is governed by an MIT-style license that can be
     * found in the LICENSE file at https://angular.io/license
     */
t.MatSliderHarness=s,Object.defineProperty(t,"__esModule",{value:!0})}));