@eclipse-scout/core
Version:
Eclipse Scout runtime
7 lines (6 loc) • 38.7 kB
JavaScript
import{AccessControl as L,App as z,AutoLeafPageWithNodes as Q,BeanField as Re,Cell as Fe,Column as ve,CompactTree as Ne,CompactTreeAdapter as Oe,DecimalFormat as ke,Desktop as Ue,Device as Y,Form as x,FormLifecycle as We,GroupBox as Z,HtmlEnvironment as Ke,HybridManager as Ie,Locale as Xe,Menu as je,MessageBox as ee,Mode as $e,ModeSelector as He,ObjectFactory as y,ObjectIdProvider as M,Outline as qe,OutlineAdapter as Ge,Page as Ve,PageWithNodes as te,PageWithTable as re,Permission as Je,PermissionCollection as ze,PermissionCollectionType as D,ProposalField as Qe,RadioButton as Ye,RadioButtonGroup as Ze,RemoteApp as et,RemoteEvent as tt,Session as rt,SmartField as st,SmartFieldTouchPopup as ot,StaticLookupCall as A,StringField as se,System as at,TabBox as oe,TabItem as B,Table as b,TableAdapter as it,TableField as ae,TableTextUserFilter as lt,TextColumnUserFilter as ie,Tree as nt,TreeAdapter as ct,TypeDescriptor as _t,UiNotificationSystem as F,UiPreferencesStore as ut,access as le,arrays as p,comparators as ne,dataObjects as dt,keys as ce,objects as pt,scout as l,strings as _e,uiNotifications as S,uiPreferences as v}from"@eclipse-scout/core";import"jasmine-ajax";import"jasmine-jquery";var h={};h.n=s=>{var e=s&&s.__esModule?()=>s.default:()=>s;return h.d(e,{a:e}),e},h.d=(s,e)=>{for(var t in e)h.o(e,t)&&!h.o(s,t)&&Object.defineProperty(s,t,{enumerable:!0,get:e[t]})},h.o=(s,e)=>Object.prototype.hasOwnProperty.call(s,e),h.r=s=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})};var ht={};h.r(ht);var P={};h.r(P),h.d(P,{ActiveDummyLookupCall:()=>be,CloneSpecHelper:()=>he,ColumnDescriptorDummyLookupCall:()=>Le,DelayedStaticLookupCall:()=>Me,DummyLookupCall:()=>I,EmptyDummyLookupCall:()=>Te,ErroneousLookupCall:()=>Ce,FocusManagerSpecHelper:()=>De,FormSpecHelper:()=>K,GroupBoxSpecHelper:()=>Be,JQueryTesting:()=>_,JasmineScout:()=>de,JasmineScoutUtil:()=>f,LanguageDummyLookupCall:()=>xe,LocalUiNotificationSystem:()=>R,LocaleSpecHelper:()=>E,LookupRowSelectionStrategy:()=>g,MenuSpecHelper:()=>O,MicrotaskStaticLookupCall:()=>we,OutlineSpecHelper:()=>Ae,SpecForm:()=>X,SpecLifecycle:()=>Se,SpecProposalField:()=>Ee,SpecRadioButtonGroup:()=>j,SpecSmartField:()=>fe,SpecSmartFieldTouchPopup:()=>ge,SpecTable:()=>q,SpecTableAdapter:()=>G,SpecTree:()=>V,SpecUiPreferencesStore:()=>C,TabBoxSpecHelper:()=>ye,TableSpecHelper:()=>W,TestBeanField:()=>me,TestingApp:()=>N,TreeSpecHelper:()=>pe,UiNotificationsMock:()=>J,accessSpecHelper:()=>U,default:()=>Pe,jasmineScoutMatchers:()=>H,proposalFieldSpecHelper:()=>T});class N extends et{_defaultValuesBootstrapper(){return null}_installErrorHandler(){}_createSession(e){return super._createSession(e)}_defaultBootstrappers(e){return[Y.get().bootstrap.bind(Y.get())]}static set(e){z._set(e)}}const mt=require("jquery");var c=h.n(mt);let ue={};const f={loadJsonResource(s){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(l.assertParameter("jsonResourceUrl",s),l.nvl(e.useCache,!0)){let t=ue[s];if(t)return c().resolvedPromise(t)}return c().ajax({async:!1,method:"GET",dataType:"json",contentType:"application/json; charset=UTF-8",cache:!1,url:s}).done(t=>(l.nvl(e.useCache,!0)&&(ue[s]=t),c().resolvedPromise(t))).fail((t,r,o)=>{throw new Error("Could not load resource from url: "+s)})},loadJsonResourceAndMockRestCall(s,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};l.assertParameter("resourceUrlToMock",s),f.loadJsonResource(e,t).then(r=>f.mockRestCall(s,r,t))},mockRestLookupCall(s,e,t){l.assertParameter("resourceUrlToMock",s),e=p.ensure(e).map(r=>c().extend({active:!0,enabled:!0,parentId:null},r)),f.mockRestCall(s,{rows:e},{restriction:t}),e.forEach(r=>{f.mockRestCall(s,{rows:[r]},{restriction:r.id})})},mockRestCall(s,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=new RegExp(".*"+_e.quote(s)+".*"),o=t.restriction?new RegExp(".*"+_e.quote(t.restriction)+".*"):void 0;const i=(t.stringify||JSON.stringify)(e);jasmine.Ajax.stubRequest(r,o,t.method).andReturn({status:200,responseText:i})},mockDataObjectRestCall(s,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};t.stringify=t.stringify||dt.stringify,this.mockRestCall(s,e,t)},captureNotMockedCalls(){jasmine.Ajax.stubRequest(/.*/).andCallFunction(s=>{fail("Ajax call not mocked for url: "+s.url+", method: "+s.method)})},mockHybridAction(s,e,t){let r=Ie.get(s);r.on("hybridAction",o=>{o.data.actionType===e&&setTimeout(()=>{let a=t(o);a&&r.setProperty("widgets",a)})})},assertPageCompleteness(s){s=s||{};let e=new Set([te,re,Q,...s.pagesNotRequiringUuid||[]]),t=new Set([te,re,Q,...s.pagesNotRequiringPageParam||[]]),r=new Set,o=new Set,a=new Set;for(const i of y.get().getSubClassesOf(Ve)){let n=y.get().getObjectType(i);if(s.namespace&&!n.startsWith(s.namespace))continue;let d=new i;if(d.minimalInit(),l.nvl(s.assertUuid,!0)&&!d.uuid&&!e.has(i)&&r.add(n),l.nvl(s.assertPageParam,!0)){let u=`${n}ParamDo`;!_t.resolveType(u)&&!t.has(i)&&o.add(n)}!r.has(n)&&!o.has(n)&&a.add(n)}r.size>0&&fail([`Found ${r.size} pages without a uuid. Please ensure every page has a uuid.`,...r].join(`
`)),o.size>0&&fail([`Found ${o.size} pages without a pageParam.`,"If a pageParam is required, create one and add `declare pageParam: NewPageParam` to your page.","Otherwise, add the page to the ignore list (`options.pagesNotRequiringPageParam`).",...o].join(`
`)),a.size>0&&console.log(`PageCompleteness: the following pages are complete: ${Array.from(a).join(", ")}`),a.size===0&&r.size===0&&o.size===0&&console.log("PageCompleteness: no pages found in this module."),expect(!0).toBe(!0)}};window.sandboxSession=s=>{s=s||{};let e=c()("#sandbox").addClass("scout"),t=s;t.portletPartId=s.portletPartId||"0",t.backgroundJobPollingEnabled=!1,t.suppressErrors=!0,t.$entryPoint=e;let r=l.create(rt,t);e.data("sandboxSession",r),r._requestToJson=a=>JSON.stringify(a),r.uiSessionId="1.1",r.modelAdapterRegistry[r.uiSessionId]=r,r.locale=new E().createLocale("de-CH");let o=s.desktop||{};return o.navigationVisible=l.nvl(o.navigationVisible,!1),o.headerVisible=l.nvl(o.headerVisible,!1),o.benchVisible=l.nvl(o.benchVisible,!1),o.parent=l.nvl(o.parent,r.root),r.desktop=l.create(Ue,o),l.nvl(s.renderDesktop,!0)&&r._renderDesktop(),e.window().off("resize",r.desktop._resizeHandler),r},window.linkWidgetAndAdapter=(s,e)=>{let t=s.session,r=l.create(e,{id:s.id,session:t});r.widget=s,s.modelAdapter=r,r._attachWidget(),r._postCreateWidget()},window.mapAdapterData=s=>{let e={};return s=p.ensure(s),s.forEach(t=>{e[t.id]=t}),e},window.registerAdapterData=(s,e)=>{let t=window.mapAdapterData(s);e._copyAdapterData(t)},window.removePopups=(s,e)=>{e=e||".popup",s.$entryPoint.children(e).each(function(){let t=l.widget(c()(this));t.animateRemoval=!1,t.remove()})},window.createSimpleModel=(s,e,t)=>{t===void 0&&(t=M.get().createUiSeqId());let r=e.desktop;return{id:t,objectType:s,parent:r,session:e}},window.mostRecentJsonRequest=()=>{let s=jasmine.Ajax.requests.mostRecent();if(s)return JSON.parse(s.params)},window.sandboxDesktop=()=>{let s=sandbox();return s.addClass("scout desktop"),s},window.sendQueuedAjaxCalls=(s,e)=>{e=e||0,jasmine.clock().tick(e),window.receiveResponseForAjaxCall(null,s)},window.receiveResponseForAjaxCall=(s,e)=>{e||(e={status:200,responseText:'{"events":[]}'}),s||(s=jasmine.Ajax.requests.mostRecent()),s&&s.onload&&s.respondWith(e)},window.createPropertyChangeEvent=(s,e)=>({target:s.id,properties:e,type:"property"}),window.sleep=s=>{let e=c().Deferred();return setTimeout(()=>e.resolve(),s),e.promise()};const de={runTestSuite(s){this.startApp(N),beforeAll(()=>{spyOn(l,"reloadPage").and.callFake(()=>{})}),beforeEach(()=>{jasmine.addMatchers(H),C.install()}),afterEach(()=>{const e=c()("#sandbox"),t=e.data("sandboxSession");e.removeData("sandboxSession"),t?.layoutValidator&&(t.layoutValidator._postValidateFunctions=[],t.layoutValidator.desktop=null),Ke.get().off("propertyChange"),S.tearDown(),v.tearDown(),C.uninstall()}),s.keys().forEach(s)},startApp(s){jasmine.clock().install(),jasmine.Ajax.install(),z.addListener("prepare",()=>{f.mockRestCall("api/permissions",{type:D.ALL}),f.mockRestCall("api/codes",{}),J.register()}),new s().init(),jasmine.clock().tick(1e3),jasmine.Ajax.uninstall(),jasmine.clock().uninstall()}};class E{static DEFAULT_LOCALE="de-CH";static GERMAN_LOCALE="de-DE";static DEFAULT_DATE_FORMAT_PATTERN="dd.MM.yyyy";static DEFAULT_TIME_FORMAT_PATTERN="HH:mm";decimalFormatSymbolsByLocale;dateFormatSymbolsByLocale;dateFormatPatternByLocale;constructor(){this._initDecimalFormatSymbols(),this._initDateFormatSymbols(),this._initDateFormatDefaultPatterns()}createModel(e){return{languageTag:e}}createLocale(e){let t=this.createModel(e);return t.decimalFormatSymbols=this.decimalFormatSymbolsByLocale[e],t.decimalFormatPatternDefault="#,##0.###",t.dateFormatSymbols=this.dateFormatSymbolsByLocale[e],t.dateFormatPatternDefault=this.dateFormatPatternByLocale[e]||E.DEFAULT_DATE_FORMAT_PATTERN,t.timeFormatPatternDefault=E.DEFAULT_TIME_FORMAT_PATTERN,new Xe(t)}_initDecimalFormatSymbols(){this.decimalFormatSymbolsByLocale={},this.decimalFormatSymbolsByLocale[E.DEFAULT_LOCALE]=this.createDecimalFormatSymbolsForDeCH(),this.decimalFormatSymbolsByLocale[E.GERMAN_LOCALE]=this.createDecimalFormatSymbolsForDeDE()}createDecimalFormatSymbolsForDeCH(){return{decimalSeparator:".",groupingSeparator:"'",minusSign:"-"}}createDecimalFormatSymbolsForDeDE(){let e=this.createDecimalFormatSymbolsForDeCH();return e.decimalSeparator=",",e.groupingSeparator=".",e}_initDateFormatSymbols(){let e=this.createDateFormatSymbolsForDe();this.dateFormatSymbolsByLocale={},this.dateFormatSymbolsByLocale[E.DEFAULT_LOCALE]=e,this.dateFormatSymbolsByLocale[E.GERMAN_LOCALE]=e}_initDateFormatDefaultPatterns(){this.dateFormatPatternByLocale={},this.dateFormatPatternByLocale.de="dd.MM.yyyy"}createDateFormatSymbolsForDe(){return{weekdays:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],weekdaysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],am:"AM",pm:"PM"}}}class O{session;constructor(e){this.session=e}createModel(e,t){let r=createSimpleModel("Menu",this.session);return $.extend(r,{text:e,menuTypes:t}),r}createMenu(e){return e=e||{},e.objectType=e.objectType||je,e.session=this.session,e.parent=this.session.desktop,l.create(e)}}let w=null,k=null;class C extends ut{preferences=null;loadCount=0;storeCount=0;subscribers=[];async _load(){return this.loadCount++,this.preferences}async _store(e){this.storeCount++,this.preferences=e}async _subscribeForUpdates(e){this.subscribers.push(e)}static install(){w&&C.uninstall(),w=new C,k=v.replaceStore(w)}static uninstall(){l.assertValue(w,"Mock not installed"),v.replaceStore(k),w=null,k=null}static get(){return l.assertValue(w,"Mock not installed")}}const U={install(s){return s=s||U.allPermissionCollectionModel(),y.get().register(L,()=>new Et(s)),le.bootstrap("permissions")},uninstall(){y.get().register(L,()=>new L),le.tearDown()},permissionCollectionModel(){const s=new Map;for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return p.ensure(t).forEach(o=>{o=Je.ensure(o),s.set(o.id,[...p.ensure(s.get(o.id)),o])}),{permissions:s,type:D.DEFAULT}},allPermissionCollectionModel(){return{type:D.ALL}},nonePermissionCollectionModel(){return{type:D.NONE}}};class Et extends L{constructor(e){super(),this._permissionCollection=ze.ensure(e)}_load(){return c().resolvedPromise()}_subscribeForNotifications(){return c().resolvedPromise()}_unsubscribeFromNotifications(){}}class pe{session;constructor(e){this.session=e}createModel(e){let t=createSimpleModel("Tree",this.session);return e&&(t.nodes=e),t}createModelFixture(e,t,r){return this.createModel(this.createModelNodes(e,t,{expanded:r}))}createModelNode(e,t,r){return c().extend({id:e||M.get().createUiSeqId(),text:t},r)}createModelNodes(e,t,r){return this.createModelNodesInternal(e,t,null,r)}createModelNodesInternal(e,t,r,o){if(!e)return;let a=[];t||(t=0),o=o||{};for(let i=0;i<e;i++){let n=i+"";r&&(n=r.id+"_"+n),a[i]=this.createModelNode(n,"node "+n,o),t>0&&(a[i].childNodes=this.createModelNodesInternal(e,t-1,a[i],o))}return a}createTree(e){let t={parent:this.session.desktop};e=c().extend({},t,e);let r=new V;return r.init(e),r}createTreeAdapter(e){let t=new ct;return t.init(e),t}createCompactTree(e){let t=new Ne;return t.init(e),t}createCompactTreeAdapter(e){e.objectType="Tree:Compact";let t=new Oe;return t.init(e),t}findAllNodes(e){return e.$container.find(".tree-node")}createNodeExpandedEvent(e,t,r){return{target:e.id,nodeId:t,expanded:r,type:"nodeExpanded"}}selectNodesAndAssert(e,t){e.selectNodes(t),this.assertSelection(e,t)}assertSelection(e,t){let r=e.$selectedNodes();expect(r.length).toBe(t.length);let o=[];r.each(function(){o.push(c()(this).data("node"))}),expect(p.equalsIgnoreOrder(t,o)).toBeTruthy(),expect(p.equalsIgnoreOrder(t,e.selectedNodes)).toBeTruthy()}createNodesSelectedEvent(e,t){return{target:e.id,nodeIds:t,type:"nodesSelected"}}createNodesInsertedEvent(e,t,r){return{target:e.id,commonParentNodeId:r,nodes:t,type:"nodesInserted"}}createNodesInsertedEventTopNode(e,t){return{target:e.id,nodes:t,type:"nodesInserted"}}createNodesDeletedEvent(e,t,r){return{target:e.id,commonParentNodeId:r,nodeIds:t,type:"nodesDeleted"}}createAllChildNodesDeletedEvent(e,t){return{target:e.id,commonParentNodeId:t,type:"allChildNodesDeleted"}}createNodeChangedEvent(e,t){return{target:e.id,nodeId:t,type:"nodeChanged"}}createNodesUpdatedEvent(e,t){return{target:e.id,nodes:t,type:"nodesUpdated"}}createChildNodeOrderChangedEvent(e,t,r){return{target:e.id,parentNodeId:r,childNodeIds:t,type:"childNodeOrderChanged"}}createTreeEnabledEvent(e,t){return{target:e.id,type:"property",properties:{enabled:t}}}assertAriaPosInSetOnNodes(e,t,r){e=e.filter(o=>o.rendered&&o.attached),expect(e.length).toBeGreaterThan(0);for(let o=0;o<e.length;o++){const a=e[o];expect(a.$node.attr("aria-setsize")).withContext(`node ${o}`).toBe(String(r)),expect(a.$node.attr("aria-posinset")).withContext(`node ${o}`).toBe(`${t+o+1}`)}}}class W{session;menuHelper;constructor(e){this.session=e,this.menuHelper=new O(e)}createModel(e,t){let r=createSimpleModel("Table",this.session);return t&&(r.rows=t),e&&(r.columns=e),r}createModelRow(e,t,r){return{id:e||M.get().createUiSeqId(),cells:t,parentRow:r}}createModelRowByTexts(e,t,r){t=p.ensure(t);let o=[];for(let a=0;a<t.length;a++)r?o[a]=t[a]:o[a]=this.createModelCell(t[a]);return this.createModelRow(e,o)}createModelRowByValues(e,t){t=p.ensure(t);let r=[];for(let o=0;o<t.length;o++)r[o]=this.createModelCell(null,t[o]);return this.createModelRow(e,r)}createModelColumn(e,t){let r={id:M.get().createUiSeqId(),text:e,objectType:t===void 0?"Column":t,uiSortPossible:!0};return t==="NumberColumn"&&(r.decimalFormat=new ke(this.session.locale)),r}createModelCell(e,t){let r={};return e!==void 0&&(r.text=e),t!==void 0&&(r.value=t),l.create(Fe,r)}createMenuModel(e){return this.menuHelper.createModel(e,[b.MenuType.SingleSelection])}createMenuModelWithSingleAndHeader(e){return this.menuHelper.createModel(e,[b.MenuType.SingleSelection,b.MenuType.Header])}createModelColumns(e,t){if(!e)return;t||(t="Column");let r=[],o=[];if(pt.isArray(t)){if(t.length!==e)throw new Error("Column count("+e+") does not match with columnType.length ("+t.length+").");o=t}else for(let a=0;a<e;a++)o.push(t);for(let a=0;a<e;a++)r[a]=this.createModelColumn("col"+a,o[a]);return r}createModelCells(e,t){let r=[];if(t===void 0&&(t=""),typeof e=="number")for(let o=0;o<e;o++)r[o]=this.createModelCell(t+"_"+o,"cell"+t+"_"+o);else for(let o=0;o<e.length;o++){let a="cell"+t+o;e[o].objectType==="NumberColumn"&&(a=t+o),r[o]=this.createModelCell(t+"_"+o,a)}return r}createModelRows(e,t,r){if(!t)return;let o=[];for(let a=0;a<t;a++)o[a]=this.createModelRow(null,this.createModelCells(e,a+""),r);return o}createModelSingleColumnByTexts(e){let t=[];for(let r=0;r<e.length;r++)t.push(this.createModelRowByTexts(null,e[r]));return this.createModel(this.createModelColumns(1),t)}createModelSingleColumnByValues(e,t){let r=[];for(let o=0;o<e.length;o++)r.push(this.createModelRowByValues(null,e[o]));return this.createModel(this.createModelColumns(1,t),r)}createModelFixture(e,t){return this.createModel(this.createModelColumns(e),this.createModelRows(e,t))}createTableWithOneColumn(){let e=this.createModelFixture(1,1);return this.createTable(e)}createModelSingleConfiguredCheckableColumn(e){let t=this.createModelColumns(1);return t[0].checkable=!0,this.createModel(t,this.createModelRows(1,e))}createTable(e){let t={parent:this.session.desktop};return e=c().extend({},t,e),l.create(q,e)}createTableAdapter(e){let t=new G;return t.init(e),t}createColumnFilter(e){let t=new ie;return t.init(e),t}createAndRegisterColumnFilter(e){let t=this.createColumnFilter(e);return e.table.addFilter(t),t}createTableTextFilter(e,t){return l.create(lt,{session:this.session,table:e,text:t})}createTextColumnFilter(e,t,r){return l.create(ie,{session:this.session,table:e,column:t,freeText:r})}createColumnStructureChangedEvent(e,t){return{target:e.id,columns:t,type:"columnStructureChanged"}}createRowsInsertedEvent(e,t){return{target:e.id,rows:t,type:"rowsInserted"}}createAllRowsDeletedEvent(e){return{target:e.id,type:"allRowsDeleted"}}createFiltersChangedEvent(e,t){return{target:e.id,filters:t,type:"filtersChanged"}}applyDisplayStyle(e){e.$data.css("position","relative"),e.$rows().each(function(){let t=c()(this);t.css("display","table-row"),t.children(".table-cell").each(function(){c()(this).css("display","table-cell")})})}getRowIds(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].id);return t}selectRowsAndAssert(e,t){e.selectRows(t),this.assertSelection(e,t)}assertSelection(e,t){let r=e.$selectedRows();expect(r.length).toBe(t.length);let o=[];r.each(function(){o.push(c()(this).data("row")),r.length===1&&expect(c()(this).hasClass("select-single")).toBeTruthy()}),expect(p.equalsIgnoreOrder(t,o)).toBeTruthy(),expect(p.equalsIgnoreOrder(t,e.selectedRows)).toBeTruthy()}assertTextsInCells(e,t,r){expect(e.length).toBe(r.length);for(let o=0;o<e.length;o++)expect(e[o].cells[t].text).toBe(r[o])}assertValuesInCells(e,t,r){expect(e.length).toBe(r.length);for(let o=0;o<e.length;o++)expect(e[o].cells[t].value).toBe(r[o])}assertDatesInCells(e,t,r){expect(e.length).toBe(r.length);for(let o=0;o<e.length;o++)expect(e[o].cells[t].value.getTime()).toBe(r[o].getTime())}assertSelectionEvent(e,t){let r=new tt(e,"rowsSelected",{rowIds:t});expect(mostRecentJsonRequest()).toContainEvents(r)}assertAriaRowIndexAndCount(e,t,r){let o=e.rows;o=o.filter(a=>!!a.$row),expect(o.length).toBeGreaterThan(0),expect(e.$data.attr("aria-rowcount")).toBe(String(r));for(let a=0;a<o.length;a+=1){const i=o[a];expect(i.$row).withContext(`row ${a}`).not.toHaveAttr("aria-rowcount"),expect(i.$row.attr("aria-rowindex")).withContext(`row ${a}`).toBe(`${t+a+1}`)}}assertNotAriaRowIndexAndCount(e){let t=e.rows;t=t.filter(r=>!!r.$row),expect(t.length).toBeGreaterThan(0),expect(e.$data).not.toHaveAttr("aria-rowcount");for(let r=0;r<t.length;r+=1){const o=t[r];expect(o.$row).withContext(`row ${r}`).not.toHaveAttr("aria-rowcount"),expect(o.$row).withContext(`row ${r}`).not.toHaveAttr("aria-index")}}assertAriaPosInSetAndSize(e,t,r){e=e.filter(o=>!!o.$row),expect(e.length).toBeGreaterThan(0);for(let o=0;o<e.length;o+=1){const a=e[o];expect(a.$row.attr("aria-setsize")).withContext(`row ${o}`).toBe(String(r)),expect(a.$row.attr("aria-posinset")).withContext(`row ${o}`).toBe(`${t+o+1}`)}}getDisplayingContextMenu(e){return c()("body").find(".context-menu")}resetIntlCollator(){ne.TEXT.installed=!1,ne.TEXT.collator=null}finishRowAnimation(e){e.$rows().stop(!1,!0)}}class K{session;constructor(e){this.session=e}closeMessageBoxes(e){if(!this.session)return;let t=e||ee.Buttons.YES;this.findMessageBoxes().forEach(r=>r.trigger("action",{option:t}))}findMessageBoxes(){if(!this.session)return new Set;const e=new Set;return this.session.$entryPoint&&this.session.$entryPoint.find(".messagebox").get().map(t=>l.widget(t,ee)).filter(t=>!!t).forEach(t=>e.add(t)),this.session.desktop&&this.session.desktop.messageBoxes.forEach(t=>e.add(t)),e}createViewWithOneField(e){let t=this.createFormWithOneField(e);return t.displayHint=x.DisplayHint.VIEW,t}createFormWithOneField(e){let t={parent:this.session.desktop};e=c().extend({},t,e);let r=l.create(X,e),o=this.createGroupBoxWithFields(r,1);return r.setRootGroupBox(o),r}createFormWithFieldsAndTabBoxes(e){let t=(u,m)=>({id:u,objectType:se,label:u,mandatory:m}),r=(u,m)=>({id:u,objectType:oe,tabItems:m}),o=(u,m)=>({id:u,objectType:B,label:"id",fields:m}),a=(u,m)=>({id:u,objectType:ae,label:u,table:{id:u+"Table",objectType:b,columns:m}}),i=(u,m)=>({id:u,objectType:ve,text:u,editable:!0,mandatory:m}),n={parent:this.session.desktop,id:"Form",title:"Form",rootGroupBox:{id:"RootGroupBox",objectType:Z,fields:[t("Field1",!1),t("Field2",!1),t("Field3",!0),t("Field4",!0),r("TabBox",[o("TabA",[t("FieldA1",!1),t("FieldA2",!0),r("TabBoxA",[o("TabAA",[t("FieldAA1",!1),t("FieldAA2",!0)]),o("TabAB",[t("FieldAB1",!1),t("FieldAB2",!0)]),o("TabAC",[t("FieldAC1",!1),t("FieldAC2",!0)])])]),o("TabB",[t("FieldB1",!1),t("FieldB2",!1),t("FieldB3",!0),t("FieldB4",!0),a("TableFieldB5",[i("ColumnB51",!1),i("ColumnB52",!0)])])])]}};e=c().extend({},n,e);let d=l.create(x,e);return d.widget("TableFieldB5",ae).table.insertRows([{cells:p.init(2,null)},{cells:p.init(2,null)}]),d}createGroupBoxWithOneField(e){return this.createGroupBoxWithFields(e,1)}createGroupBoxWithFields(e,t){e=l.nvl(e,this.session.desktop),t=l.nvl(t,1);let r=[],o=l.create(Z,{parent:e});for(let a=0;a<t;a++)r.push(l.create(se,{parent:o}));return o.setProperty("fields",r),o}createRadioButtonGroup(e,t){e=l.nvl(e,this.session.desktop),t=l.nvl(t,2);let r=[];for(let o=0;o<t;o++)r.push({objectType:Ye});return l.create(j,{parent:e,fields:r})}createFormWithFields(e,t,r){e=l.nvl(e,this.session.desktop);let o=l.create(x,{parent:e,displayHint:t?"dialog":"view"}),a=this.createGroupBoxWithFields(o,r);return o.setRootGroupBox(a),o}createFieldModel(e,t,r){t=l.nvl(t,this.session.desktop);let o=createSimpleModel(e||"StringField",this.session);return o.parent=t,r&&c().extend(o,r),o}createField(e,t,r){return l.create(e,this.createFieldModel(e,t,r))}createModeSelector(e,t){e=l.nvl(e,this.session.desktop),t=l.nvl(t,2);let r=[];for(let o=0;o<t;o++)r.push({objectType:$e});return l.create(He,{parent:e,modes:r})}}class he{validateClone(e,t){let r=Array.from(e.cloneProperties).filter(a=>!e.isWidgetProperty(a)),o=Array.from(e.cloneProperties).filter(a=>e.isWidgetProperty(a));r.forEach(a=>{expect(t[a]).withContext(a).toBe(e[a])}),o.forEach(a=>{expect(t[a]).toBeDefined(),expect(t).toHaveClonedWidgetProperty(e,a)})}}class me extends Re{_render(){super._render(),this.$container.addClass("test-bean-field")}_renderValue(){this.$field.empty(),this.value&&(this.$field.appendDiv("msg-from").text("Message from "+this.value.sender),this.$field.appendDiv("msg-text").textOrNbsp(this.value.message))}}const _={triggerBlur(s){let e=$.Event("blur",{originalEvent:$.Event("dummy")});s.trigger(e)},triggerRightClick(s){s.trigger($.Event("mousedown",{which:3})),s.trigger($.Event("mouseup",{which:3}))},triggerKeyUp(s,e,t){let r=$.Event("keyup",{originalEvent:$.Event("dummy"),which:e});_.extendEventWithModifier(r,t),s.trigger(r)},triggerKeyDown(s,e,t){let r=$.Event("keydown",{originalEvent:$.Event("dummy"),which:e});_.extendEventWithModifier(r,t),s.trigger(r)},extendEventWithModifier(s,e){return s.altKey=!!e?.includes("alt"),s.ctrlKey=!!e?.includes("ctrl"),s.shiftKey=!!e?.includes("shift"),s.metaKey=!!e?.includes("meta"),s},triggerMouseEnter(s,e){_.triggerMouseAction(s,"mouseenter",e)},triggerMouseLeave(s,e){_.triggerMouseAction(s,"mouseleave",e)},triggerMouseDown(s,e){_.triggerMouseAction(s,"mousedown",e)},triggerMouseMove(s,e){_.triggerMouseAction(s,"mousemove",e)},triggerMouseDownCapture(s){let e=new MouseEvent("mousedown",{view:window,bubbles:!0,cancelable:!0});s[0].dispatchEvent(e)},triggerKeyDownCapture(s,e,t){_.triggerKeyCapture(s,"keydown",e,t)},triggerKeyUpCapture(s,e,t){_.triggerKeyCapture(s,"keyup",e,t)},triggerKeyInputCapture(s,e,t){_.triggerKeyCapture(s,"keydown",e,t),_.triggerKeyCapture(s,"keyup",e,t)},triggerKeyCapture(s,e,t,r){let o=new KeyboardEvent(e,this.extendEventWithModifier({bubbles:!0,cancelable:!0,which:t,keyCode:t},r));s[0].dispatchEvent(o)},triggerMouseUp(s,e){_.triggerMouseAction(s,"mouseup",e)},triggerMouseAction(s,e,t){let r;t=t||{},t.position||(t.position=s.offset()),t.clicks||(t.clicks=1),t.which||(t.which=1),r=$.Event(e,{which:t.which,originalEvent:$.Event(e,{detail:t.clicks}),pageX:t.position.left,pageY:t.position.top}),t.modifier&&_.extendEventWithModifier(r,t.modifier),s.trigger(r)},triggerContextMenu(s){let e={position:s.offset(),which:3};_.triggerMouseDown(s,e),_.triggerMouseUp(s,e),s.trigger($.Event("contextmenu",{pageX:e.position.left,pageY:e.position.top}))},triggerClick(s,e){e=e||{},e.click||(e.click=1),_.triggerMouseDown(s,e),_.triggerMouseUp(s,e),_.triggerMouseAction(s,"click",e)},triggerDoubleClick(s){_.triggerClick(s),_.triggerClick(s,{click:2}),s.trigger($.Event("dblclick",{originalEvent:$.Event("dummy",{detail:2})}))},triggerImageLoadCapture(s){let e=new Event("load",{bubbles:!0,cancelable:!0});s[0].dispatchEvent(e)},whenAnimationEnd(s){let e=$.Deferred();return s.oneAnimationEnd(()=>{e.resolve()}),e.promise()},selectText(s,e,t,r){let o=r||s.window(!0),a=document.createRange(),i;s[0].nodeType===3?i=s[0]:i=s[0].childNodes[0],a.setStart(i,e),a.setEnd(i,t),o.getSelection().removeAllRanges(),o.getSelection().addRange(a)},whenDocLoad(s){let e=$.Deferred();return s.on("load",()=>{e.resolve(s[0].contentDocument)}),e.promise()}},T={async testProposalFieldInputs(s,e,t,r,o){s.touchMode=t,s.render(),r=$.extend({beforeInput:a=>{},afterInput:a=>{},afterSelectLookupRow:(a,i)=>{},afterAcceptCustomText:a=>{}},r);for(const a of e){const i=T.ensureInput(a),{text:n,lookup:d}=i;if(r.beforeInput(i),d||o===g.EXACT_TEXT){const u=await T.selectLookupRow(s,n,o);r.afterSelectLookupRow(n,u)}else await T.acceptCustomText(s,n),r.afterAcceptCustomText(n);r.afterInput(i)}},ensureInput(s){return typeof s=="string"?{text:s}:s},async acceptCustomText(s,e){if(s.touchMode){const t=await T.openPopup(s);t._field.$field.val(e),t._field.acceptInput(),t.doneAction.doAction()}else s.$field.val(e),await s.acceptInput()},async selectLookupRow(s,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.CLICK;const r=await T.openPopup(s),o=s.touchMode?r._field:r.smartField,i=(s.touchMode?r._widget:r.proposalChooser).content,n=i.rows.find(d=>d.cells[0].text===e);switch(t){case g.CLICK:{_.triggerMouseDown(n.$row),_.triggerMouseUp(n.$row);break}case g.ENTER:{i.selectRow(n),_.triggerKeyDownCapture(o.$field,ce.ENTER);break}case g.EXACT_TEXT:{o.$field.val(e);let d=r.when("close");return _.triggerKeyDownCapture(o.$field,ce.ENTER),await d,o.lookupRow}}return n.lookupRow},async openPopup(s){s.$field.focus(),await s.openPopup(!0);const e=s.popup;return e.animateRemoval=!1,e}};class Ee extends Qe{_lookupByTextOrAllDone(e){super._lookupByTextOrAllDone(e)}_getLastSearchText(){return super._getLastSearchText()}acceptInput(e){return this._acceptInputEnabled=!0,super.acceptInput(e)}}class ge extends ot{}var g;(function(s){s[s.CLICK=0]="CLICK",s[s.ENTER=1]="ENTER",s[s.EXACT_TEXT=2]="EXACT_TEXT"})(g||(g={}));class fe extends st{_readSearchText(){return super._readSearchText()}_onFieldKeyDown(e){super._onFieldKeyDown(e)}_onFieldKeyUp(e){super._onFieldKeyUp(e)}_acceptByText(e,t){super._acceptByText(e,t)}_lookupByTextOrAll(e,t,r){return super._lookupByTextOrAll(e,t,r)}_lookupByTextOrAllDone(e){super._lookupByTextOrAllDone(e)}_executeLookup(e,t){return super._executeLookup(e,t)}_formatValue(e){return super._formatValue(e)}_copyValuesFromField(e){super._copyValuesFromField(e)}_getLastSearchText(){return super._getLastSearchText()}}class ye{session;constructor(e){this.session=e}createTabBoxWith2Tabs(e){return e=c().extend({tabItems:[{objectType:B,label:"first"},{objectType:B,label:"second"}]},e),this.createTabBox(e)}createTabBoxWith(e){return e=l.nvl(e,[]),this.createTabBox({tabItems:e,selectedTab:e[0]})}createTabBox(e){return e=c().extend({parent:this.session.desktop},e),l.create(oe,e)}createTabItem(e){return e=c().extend({parent:this.session.desktop},e),l.create(B,e)}}class Ae{session;constructor(e){this.session=e}createModelFixture(e,t,r){return this.createModel(this.createModelNodes(e,t,{expanded:r}))}createModel(e){let t=createSimpleModel("Outline",this.session);return e&&(t.nodes=e),t}createModelNode(e,t,r){return c().extend({id:e||M.get().createUiSeqId(),text:t},r)}createModelNodes(e,t,r){return this.createModelNodesInternal(e,t)}createModelNodesInternal(e,t,r,o){if(!e)return;let a=[],i;t||(t=0);for(let n=0;n<e;n++)i=n,r&&(i=r.id+"_"+i),a[n]=this.createModelNode(i,"node "+n,o),t>0&&(a[n].childNodes=this.createModelNodesInternal(e,t-1,a[n],o));return a}createOutline(e){let t={parent:this.session.desktop},r=c().extend({},t,e),o=new qe;return o.init(r),o}createOutlineAdapter(e){let t=new Ge;return t.init(e),t}createOutlineWithOneDetailForm(){let e=this.createModelFixture(3,2,!0),t=this.createOutline(e),r=t.nodes[0];return r.detailForm=new K(this.session).createFormWithOneField({modal:!1}),r.detailFormVisible=!0,t}createOutlineWithOneDetailTable(){let e=this.createModelFixture(3,2,!0),t=this.createOutline(e),r=t.nodes[0];return r.detailTable=new W(this.session).createTableWithOneColumn(),r.detailTableVisible=!0,t}setMobileFlags(e){e.setBreadcrumbStyleActive(!0),e.setToggleBreadcrumbStyleEnabled(!1),e.setCompact(!0),e.setEmbedDetailContent(!0)}}class I extends A{multiline;showText;constructor(){super(),this.multiline=!1,this.showText=!0,this.setDelay(250)}_data(){return[[1,"Foo"],[2,"Bar",1],[3,"Baz",1]]}_dataToLookupRow(e){let t=super._dataToLookupRow(e);return t.cssClass=t.text.toLowerCase(),this.showText?this.multiline&&(t.text="1:"+t.text+`
2:`+t.text):t.text=null,t}}class Te extends A{constructor(){super(),this.setDelay(250)}_data(){return[]}}class Ce extends A{_queryByAll(){this._resolveWithException("QueryByAll failed")}_queryByKey(e){this._resolveWithException("QueryByKey failed")}_queryByRec(e){this._resolveWithException("QueryByRec failed")}_queryByText(e){this._resolveWithException("QueryByText failed")}_resolveWithException(e){this._deferred.resolve(this._createLookupResult([],e))}}class we extends A{_getByKey(e){return this._deferred=c().Deferred(),queueMicrotask(this._queryByKey.bind(this,e)),this._deferred.promise()}_getAll(){return this._deferred=c().Deferred(),queueMicrotask(this._queryByAll.bind(this)),this._deferred.promise()}_getByText(e){return this._deferred=c().Deferred(),queueMicrotask(this._queryByText.bind(this,e)),this._deferred.promise()}_getByRec(e){return this._deferred=c().Deferred(),queueMicrotask(this._queryByRec.bind(this,e)),this._deferred.promise()}}class Me extends A{_delayDeferred;abort(){this._delayDeferred?.reject({abort:!0}),super.abort()}_getByKey(e){return this._delayDeferred=c().Deferred(),this._delayDeferred.promise().then(()=>super._getByKey(e))}_getAll(){return this._delayDeferred=c().Deferred(),this._delayDeferred.promise().then(()=>super._getAll())}_getByText(e){return this._delayDeferred=c().Deferred(),this._delayDeferred.promise().then(()=>super._getByText(e))}_getByRec(e){return this._delayDeferred=c().Deferred(),this._delayDeferred.promise().then(()=>super._getByRec(e))}resolve(){this._delayDeferred.resolve()}}class be extends A{constructor(){super(),this.setDelay(250)}_data(){return[[1,"Foo",!0],[2,"Bar",!1],[3,"Baz",null]]}_dataToLookupRow(e){let t=super._dataToLookupRow(e);return t.active=e[2],t}}class Le extends I{constructor(){super(),this.multiline=!1,this.showText=!0,this.setDelay(250)}_dataToLookupRow(e){let t=super._dataToLookupRow(e);return t.additionalTableRowData={column1:t.text+" column1",column2:t.text+" column2"},t}}class xe extends A{multiline;showText;constructor(){super(),this.multiline=!1,this.showText=!0,this.setDelay(250)}_data(){return[[100,e.call(this,"English")],[200,e.call(this,"German")],[300,e.call(this,"Italian")],[400,e.call(this,"French")],[500,e.call(this,"Swiss-German")]];function e(t){return this.showText?this.multiline?"1:"+t+`
2:`+t:t:null}}}class De{handlersRegistered(e){let t,r=["keydown","focusin","focusout","hide"],o=0,a=c()._data(e[0],"events"),i=r.length;if(a)for(t=0;t<i;t++)a[r[t]]&&o++;return o===i}}class Be{static assertGridData(e,t,r,o,a){expect(a.x).toEqual(e),expect(a.y).toEqual(t),expect(a.w).toEqual(r),expect(a.h).toEqual(o)}}class X extends x{_load(){return super._load()}_save(e){return super._save(e)}_validate(){return super._validate()}_showFormInvalidMessageBox(e){return super._showFormInvalidMessageBox(e)}_createStatusMessageBox(e){return super._createStatusMessageBox(e)}}class Se extends We{_validate(){return super._validate()}_createInvalidElementsMessageHtml(e,t){return super._createInvalidElementsMessageHtml(e,t)}}class j extends Ze{_setGridColumnCount(e){return super._setGridColumnCount(e)}}const H={toContainEvents:s=>({compare:(e,t)=>{t===void 0&&(t=[]),Array.isArray(t)||(t=[t]);let r={},o=[];if(e)for(let a=0;a<e.events.length;a++)o.push(e.events[a]);r.pass=!0;for(let a=0;a<t.length;a++)Object.getPrototypeOf(t[a])!==Object.prototype&&(t[a]=JSON.parse(JSON.stringify(t[a]))),r.pass=r.pass&&s.contains(o,t[a]);return r.pass||(r.message="Expected actual events "+o+" to be equal to "+t),r}}),toContainEventsExactly:s=>({compare:(e,t)=>{t===void 0&&(t=[]),Array.isArray(t)||(t=[t]);let r={},o=[];if(e)for(let a=0;a<e.events.length;a++)o.push(e.events[a]);r.pass=!0;for(let a=0;a<t.length;a++)Object.getPrototypeOf(t[a])!==Object.prototype&&(t[a]=JSON.parse(JSON.stringify(t[a])));return r.pass=s.equals(o,t),r.pass||(r.message="Expected actual events "+o+" to be equal to "+t),r}}),toContainEventTypesExactly:s=>({compare:(e,t)=>{t===void 0&&(t=[]),Array.isArray(t)||(t=[t]);let r={},o=[];if(e)for(let a=0;a<e.events.length;a++)o.push(e.events[a].type);return r.pass=s.equals(o,t),r.pass||(r.message="Expected actual event types "+o+" to be equal to "+t),r}}),allToHaveClass:(s,e)=>({compare:(t,r)=>{r===void 0&&(r=[]),Array.isArray(r)||(r=[r]),Array.isArray(t)||(t=[t]);let o={pass:t.every(a=>a.hasClass(r))};return o.pass||(o.message="Expected "+t+" all to have "+r+" as classes."),o}}),anyToHaveClass:(s,e)=>({compare:(t,r)=>{r===void 0&&(r=[]),Array.isArray(r)||(r=[r]),Array.isArray(t)||(t=[t]);let o={pass:t.some(a=>a.hasClass(r))};return o.pass||(o.message="Expected any "+t+" to have "+r+" as classes."),o}}),toHaveClonedWidgetProperty:(s,e)=>({compare:(t,r,o)=>{let a=(i,n,d)=>i===n?{pass:!1,message:"widgetProperty '"+o+"' is same on [original: '"+r[o]+"', clone: '"+t[o]+"']. It should be a deep copy."}:i.objectType!==n.objectType?{pass:!1,message:"widgetProperty '"+o+"' has not same object type of clone and original. [original.objectType: '"+i.objectType+"', clonedWidget.objectType: '"+n.objectType+"']."}:n.parent!==t?{pass:!1,message:"widgetProperty '"+o+"' has a wrong parent in clone (widget parent and clone should be same). [clone: '"+t+"', widget.parent: '"+n.parent+"']."}:i!==n.cloneOf?{pass:!1,message:"widgetProperty '"+o+"' cloneOf of clone is not set correctly. [original: '"+i+"', clone.cloneOf: '"+n.cloneOf+"']."}:{pass:!0};if(r[o]===t[o])return{pass:!1,message:"widgetProperty '"+o+"' is same on [original: '"+r[o]+"', clone: '"+t[o]+"']. It should be a deep copy."};if(Array.isArray(r[o])){if(!Array.isArray(t[o]))return{pass:!1,message:"widgetProperty '"+o+"' is not an array [original: '"+r[o]+"', clone: '"+t[o]+"']. It should be a deep copy."};for(let i=0;i<r[o].length;i++){let n=a(r[o][i],t[o][i],o);if(!n.pass)return n}}return{pass:!0}}})};class q extends b{_resizeToFit(e,t,r){super._resizeToFit(e,t,r)}_calculateCurrentViewRange(){return super._calculateCurrentViewRange()}_calculateViewRangeForRowIndex(e){return super._calculateViewRangeForRowIndex(e)}_unwrapText(e){return super._unwrapText(e)}_selectedRowsToText(){return super._selectedRowsToText()}_showCellError(e,t,r){super._showCellError(e,t,r)}_columnAtX(e){return super._columnAtX(e)}_sort(e){return super._sort(e)}_sortImpl(e){super._sortImpl(e)}}class G extends it{_onRowsDeleted(e){super._onRowsDeleted(e)}_onRowsSelected(e){super._onRowsSelected(e)}_onRowsChecked(e){super._onRowsChecked(e)}_onRowsExpanded(e){super._onRowsExpanded(e)}_sendFilter(e){super._sendFilter(e)}}class V extends nt{_initNodes(e,t){super._initNodes(e,t)}_calculateCurrentViewRange(){return super._calculateCurrentViewRange()}_expandAllParentNodes(e){super._expandAllParentNodes(e)}_renderViewRangeForNode(e){super._renderViewRangeForNode(e)}_updateNodePaddingsLeft(e){super._updateNodePaddingsLeft(e)}_onScroll(e){super._onScroll(e)}_isGroupingEnd(e){return super._isGroupingEnd(e)}_checkParentsRecursive(e){return super._checkParentsRecursive(e)}}class J{static register(){S.tearDown(),y.get().register(F,()=>new R)}static unregister(){S.tearDown(),y.get().unregister(F)}static putNotification(e,t){t=t||at.MAIN_SYSTEM;let r=S.systems.get(t);if(!(r instanceof R))throw new Error("You need to register the local system first using UiNotificationsMock.registerLocalSystem");r.put(e)}}class R extends F{whenSubscriptionStart(e){return c().resolvedPromise(e)}updatePoller(){}put(e){super._dispatch([c().extend({id:"1",creationTime:new Date,nodeId:"node1"},e)])}}const Pe=P;y.get().registerNamespace("scout",P);export{be as ActiveDummyLookupCall,he as CloneSpecHelper,Le as ColumnDescriptorDummyLookupCall,Me as DelayedStaticLookupCall,I as DummyLookupCall,Te as EmptyDummyLookupCall,Ce as ErroneousLookupCall,De as FocusManagerSpecHelper,K as FormSpecHelper,Be as GroupBoxSpecHelper,_ as JQueryTesting,de as JasmineScout,f as JasmineScoutUtil,xe as LanguageDummyLookupCall,R as LocalUiNotificationSystem,E as LocaleSpecHelper,g as LookupRowSelectionStrategy,O as MenuSpecHelper,we as MicrotaskStaticLookupCall,Ae as OutlineSpecHelper,X as SpecForm,Se as SpecLifecycle,Ee as SpecProposalField,j as SpecRadioButtonGroup,fe as SpecSmartField,ge as SpecSmartFieldTouchPopup,q as SpecTable,G as SpecTableAdapter,V as SpecTree,C as SpecUiPreferencesStore,ye as TabBoxSpecHelper,W as TableSpecHelper,me as TestBeanField,N as TestingApp,pe as TreeSpecHelper,J as UiNotificationsMock,U as accessSpecHelper,Pe as default,H as jasmineScoutMatchers,T as proposalFieldSpecHelper};
//# sourceMappingURL=eclipse-scout-testing.esm-1e283a75ba2edffbd104.min.js.map