PageSourceSearch

https://webdriver.io/assets/js/7466159e.5b1cd274.js

js webdriver.io collected 2026-09-24 08:33:02 UTC 9,912 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8002],{1001:(e,i,n)=>{n.d(i,{A:()=>y});var s=n(7378),r=n(23372),t=n(41129),a=n(82434),o=n(30505),l=n(90703),c=n(8663),u=n(39164),d=n(60534);function h(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:i}=e;return!!i&&"object"==typeof i&&"value"in i}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function b(e){const{values:i,children:n}=e;return(0,s.useMemo)(()=>{const e=i??function(e){return h(e).map(({props:{value:e,label:i,attributes:n,default:s}})=>({value:e,label:i,attributes:n,default:s}))}(n);return function(e){const i=(0,u.XI)(e,(e,i)=>e.value===i.value);if(i.length>0)throw new Error(`Docusaurus error: Duplicate values "${i.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[i,n])}function p({value:e,tabValues:i}){return i.some(i=>i.value===e)}function m({queryString:e=!1,groupId:i}){const n=(0,o.W6)(),r=function({queryString:e=!1,groupId:i}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!i)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:e,groupId:i});return[(0,c.aZ)(r),(0,s.useCallback)(e=>{if(!r)return;const i=new URLSearchParams(n.location.search);i.set(r,e),n.replace({...n.location,search:i.toString()})},[r,n])]}function f(e){const{defaultValue:i,queryString:n=!1,groupId:r}=e,t=b(e),[a,o]=(0,s.useState)(()=>function({defaultValue:e,tabValues:i}){if(0===i.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!p({value:e,tabValues:i}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${i.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const n=i.find(e=>e.default)??i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:i,tabValues:t})),[c,u]=m({queryString:n,groupId:r}),[h,f]=function({groupId:e}){const i=function(e){return e?`docusaurus.tab.${e}`:null}(e),[n,r]=(0,d.Dv)(i);return[n,(0,s.useCallback)(e=>{i&&r.set(e)},[i,r])]}({groupId:r}),v=(()=>{const e=c??h;return p({value:e,tabValues:t})?e:null})();(0,l.A)(()=>{v&&o(v)},[v]);return{selectedValue:a,selectValue:(0,s.useCallback)(e=>{if(!p({value:e,tabValues:t}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),f(e)},[u,f,t]),tabValues:t}}var v=n(17933);const g={tabList:"tabList_PGOh",tabItem:"tabItem_Wr1C"};var w=n(86106);function j({className:e,block:i,selectedValue:n,selectValue:s,tabValues:t}){const o=[],{blockElementScrollPositionUntilNextRender:l}=(0,a.a_)(),c=e=>{const i=e.currentTarget,r=o.indexOf(i),a=t[r].value;a!==n&&(l(i),s(a))},u=e=>{let i=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;i=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;i=o[n]??o[o.length-1];break}}i?.focus()};return(0,w.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":i},e),children:t.map(({value:e,label:i,attributes:s})=>(0,w.jsx)("li",{role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>{o.push(e)},onKeyDown:u,onClick:c,...s,className:(0,r.A)("tabs__item",g.tabItem,s?.className,{"tabs__item--active":n===e}),children:i??e},e))})}function x({lazy:e,children:i,selectedValue:n}){const t=(Array.isArray(i)?i:[i]).filter(Boolean);if(e){const e=t.find(e=>e.props.value===n);return e?(0,s.cloneElement)(e,{className:(0,r.A)("margin-top--md",e.props.className)}):null}return(0,w.jsx)("div",{className:"margin-top--md",children:t.map((e,i)=>(0,s.cloneElement)(e,{key:i,hidden:e.props.value!==n}))})}function k(e){const i=f(e);return(0,w.jsxs)("div",{className:(0,r.A)(t.G.tabs.container,"tabs-container",g.tabList),
1children:[(0,w.jsx)(j,{...i,...e}),(0,w.jsx)(x,{...i,...e})]})}function y(e){const i=(0,v.A)();return(0,w.jsx)(k,{...e,children:h(e.children)},String(i))}},22002:(e,i,n)=>{n.d(i,{R:()=>a,x:()=>o});var s=n(7378);const r={},t=s.createContext(r);function a(e){const i=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(t.Provider,{value:i},e.children)}},81078:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"wdio-obsidian-service","title":"Obsidian Plugin Testing Service","description":"wdio-obsidian-service is a 3rd party package, for more information please see GitHub | npm","source":"@site/docs/_wdio-obsidian-service.md","sourceDirName":".","slug":"/wdio-obsidian-service","permalink":"/docs/wdio-obsidian-service","draft":false,"unlisted":false,"editUrl":"https://github.com/jesse-r-s-hines/wdio-obsidian-service/edit/main/README.md","tags":[],"version":"current","frontMatter":{"id":"wdio-obsidian-service","title":"Obsidian Plugin Testing Service","custom_edit_url":"https://github.com/jesse-r-s-hines/wdio-obsidian-service/edit/main/README.md"},"sidebar":"docs","previous":{"title":"QUnit Service","permalink":"/docs/wdio-qunit-service"},"next":{"title":"Camera Service Service","permalink":"/docs/wdio-camera-service"}}');var r=n(86106),t=n(22002);n(1001),n(87780);const a={id:"wdio-obsidian-service",title:"Obsidian Plugin Testing Service",custom_edit_url:"https://github.com/jesse-r-s-hines/wdio-obsidian-service/edit/main/README.md"},o=void 0,l={},c=[{value:"API Docs",id:"api-docs",level:2},{value:"Contributing",id:"contributing",level:2}];function u(e){const i={a:"a",blockquote:"blockquote",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:["wdio-obsidian-service is a 3rd party package, for more information please see ",(0,r.jsx)(i.a,{href:"https://github.com/jesse-r-s-hines/wdio-obsidian-service",children:"GitHub"})," | ",(0,r.jsx)(i.a,{href:"https://www.npmjs.com/package/wdio-obsidian-service",children:"npm"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Test your ",(0,r.jsx)(i.a,{href:"https://obsidian.md",children:"Obsidian"}
1)," plugins end-to-end using ",(0,r.jsx)(i.a,{href:"https://webdriver.io",children:"WebdriverIO"}),"!"]}),"\n",(0,r.jsx)(i.p,{children:"WDIO Obsidian Service can:"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Download and test multiple versions of Obsidian"}),"\n",(0,r.jsx)(i.li,{children:"Run tests on Windows, macOS, Linux, and Android"}),"\n",(0,r.jsx)(i.li,{children:"Sandbox Obsidian so tests don't interfere with your system and can run in parallel"}),"\n",(0,r.jsx)(i.li,{children:"Open and switch between vaults"}),"\n",(0,r.jsx)(i.li,{children:"Provide helper functions for common testing tasks"}),"\n",(0,r.jsx)(i.li,{children:"Run tests in CI"}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["For instructions on how to set up end-to-end tests using WDIO Obsidian Service see the ",(0,r.jsx)(i.a,{href:"https://jesse-r-s-hines.github.io/wdio-obsidian-service/wdio-obsidian-service/README.html",children:"service api docs"}),", or get started quickly by using the ",(0,r.jsx)(i.a,{href:"https://github.com/jesse-r-s-hines/wdio-obsidian-service-sample-plugin",children:"sample plugin"})," as a template."]}),"\n",(0,r.jsx)(i.p,{children:"This project is split into several NPM packages:"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"https://github.com/jesse-r-s-hines/wdio-obsidian-service/blob/main/./packages/wdio-obsidian-service/README.md",children:"wdio-obsidian-service"}),": A WebdriverIO service to test Obsidian plugins"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"https://github.com/jesse-r-s-hines/wdio-obsidian-service/blob/main/./packages/obsidian-launcher/README.md",children:"obsidian-launcher"}),": A package for downloading and launching different versions of Obsidian"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"https://github.com/jesse-r-s-hines/wdio-obsidian-service/blob/main/./packages/wdio-obsidian-reporter/README.md",children:"wdio-obsidian-reporter"}),": Wrapper around ",(0,r.jsx)(i.a,{href:"https://www.npmjs.com/package/@wdio/spec-reporter",children:"@wdio/spec-reporter"})," that logs Obsidian version instead of Chromium version"]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"api-docs",children:"API Docs"}),"\n",(0,r.jsxs)(i.p,{children:["API docs for all the packages are available ",(0,r.jsx)(i.a,{href:"https://jesse-r-s-hines.github.io/wdio-obsidian-service/wdio-obsidian-service/README.html",children:"here"}),"."]}),"\n",(0,r.jsx)(i.h2,{id:"contributing",children:"Contributing"}),"\n",(0,r.jsxs)(i.p,{children:["PRs and issues welcome! See ",(0,r.jsx)(i.a,{href:"https://github.com/jesse-r-s-hines/wdio-obsidian-service/blob/main/./CONTRIBUTING.md",children:"CONTRIBUTING.md"})," for instructions on how to set up local development."]})]})}function d(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},87780:(e,i,n)=>{n.d(i,{A:()=>a});n(7378);var s=n(23372);const r={tabItem:"tabItem_l0gC"};var t=n(86106);function a({children:e,hidden:i,className:n}){return(0,t.jsx)("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,n),hidden:i,children:e})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.