kopia lustrzana https://github.com/deathbeds/ipydrawio
Upgrade to drawio 18.0.2, etc. (#94)
rodzic
5477a5d50f
commit
c2e12eed88
|
@ -36,12 +36,13 @@ dependencies:
|
|||
- rich
|
||||
- segno
|
||||
- shapely
|
||||
- tabulate
|
||||
- sphinx-autobuild
|
||||
- tabulate
|
||||
### FEDERATED EXTENSIONS ###
|
||||
- bqplot
|
||||
- jupyterlab_widgets
|
||||
- jupyterlab-tour
|
||||
- jupyterlab-webrtc-docprovider
|
||||
- wxyz_datagrid
|
||||
- wxyz_json_schema_form
|
||||
- wxyz_lab
|
||||
|
@ -59,7 +60,7 @@ dependencies:
|
|||
- sphinx-jsonschema
|
||||
- sphinxext-rediraffe
|
||||
- pip:
|
||||
- jupyterlite ==0.1.0b0
|
||||
- jupyterlite ==0.1.0b7
|
||||
|
||||
### ipydrawio-docs-deps ###
|
||||
|
||||
|
@ -74,7 +75,7 @@ dependencies:
|
|||
- python # this gets patched in ci
|
||||
# run
|
||||
- ipywidgets >=7.6,<8
|
||||
- jupyterlab >=3.2.4,<4.0.0a0
|
||||
- jupyterlab >=3.4.0,<4.0.0a0
|
||||
- jupyterlab_widgets >=1
|
||||
- lxml
|
||||
- pillow
|
||||
|
@ -92,6 +93,7 @@ dependencies:
|
|||
- pyflakes
|
||||
- pyyaml
|
||||
- robotframework-lint
|
||||
- robotframework-tidy
|
||||
# unit testing
|
||||
- pytest
|
||||
- pytest-console-scripts
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
# extra packages for python 3.7
|
||||
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
name: ipydrawio-dev
|
||||
|
||||
channels:
|
||||
- conda-forge
|
||||
- nodefaults
|
||||
|
||||
dependencies:
|
||||
# for flake8, sigh
|
||||
- importlib-metadata <4.3
|
|
@ -29,7 +29,7 @@ dependencies:
|
|||
- python # this gets patched in ci
|
||||
# run
|
||||
- ipywidgets >=7.6,<8
|
||||
- jupyterlab >=3.2.4,<4.0.0a0
|
||||
- jupyterlab >=3.4.0,<4.0.0a0
|
||||
- jupyterlab_widgets >=1
|
||||
- lxml
|
||||
- pillow
|
||||
|
@ -47,6 +47,7 @@ dependencies:
|
|||
- pyflakes
|
||||
- pyyaml
|
||||
- robotframework-lint
|
||||
- robotframework-tidy
|
||||
# unit testing
|
||||
- pytest
|
||||
- pytest-console-scripts
|
||||
|
|
|
@ -203,7 +203,7 @@ jobs:
|
|||
with:
|
||||
path: ~/conda_pkgs_dir
|
||||
key: |
|
||||
${{ env.CACHE_EPOCH }}-${{ runner.os }}-conda-build-${{ hashFiles('.github/environment-conda-build.yml', '.github/environment-conda-build-win.yml') }}
|
||||
${{ env.CACHE_EPOCH }}-${{ runner.os }}-conda-build-${{ hashFiles('.github/environment-*.yml') }}
|
||||
restore-keys: |
|
||||
${{ env.CACHE_EPOCH }}-${{ runner.os }}-conda-build-
|
||||
|
||||
|
@ -264,7 +264,7 @@ jobs:
|
|||
with:
|
||||
path: ~/conda_pkgs_dir
|
||||
key: |
|
||||
${{ env.CACHE_EPOCH }}-${{ runner.os }}-conda-${{ matrix.python-version }}-${{ hashFiles('.github/environment.yml') }}
|
||||
${{ env.CACHE_EPOCH }}-${{ runner.os }}-conda-${{ matrix.python-version }}-${{ hashFiles('.github/environment*.yml') }}
|
||||
restore-keys: |
|
||||
${{ env.CACHE_EPOCH }}-${{ runner.os }}-conda-${{ matrix.python-version }}-
|
||||
|
||||
|
@ -277,6 +277,12 @@ jobs:
|
|||
use-only-tar-bz2: true
|
||||
use-mamba: true
|
||||
|
||||
- name: tweak install (conda)
|
||||
if: matrix.python-version == '3.7'
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
mamba env update -n test --file .github/environment-py37.yml
|
||||
|
||||
- name: download (dist)
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
|
|
9
.yarnrc
9
.yarnrc
|
@ -1,5 +1,8 @@
|
|||
disable-self-update-check true
|
||||
ignore-optional true
|
||||
ignore-scripts true
|
||||
network-timeout "300000"
|
||||
prefer-offline true
|
||||
registry "https://registry.npmjs.org/"
|
||||
yarn-offline-mirror "./.yarn-packages"
|
||||
yarn-offline-mirror-pruning true
|
||||
ignore-optional true
|
||||
network-timeout "300000"
|
||||
disable-self-update-check true
|
||||
|
|
|
@ -10,7 +10,9 @@
|
|||
|
||||
#### @deathbeds/ipydrawio-notebook 1.2.1
|
||||
|
||||
#### @deathbeds/ipydrawio-webpack 16.4.501
|
||||
#### @deathbeds/ipydrawio-webpack 18.0.100
|
||||
|
||||
- updates to drawio v18.0.1
|
||||
|
||||
#### @deathbeds/ipydrawio-jupyter-templates 1.2.1
|
||||
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,37 +13,39 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Common behaviors for CodeMirror instances
|
||||
Documentation Common behaviors for CodeMirror instances
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Set CodeMirror Value
|
||||
[Arguments] ${css} ${code}
|
||||
[Documentation] Set the value in the CodeMirror attached to the element
|
||||
... that matches a ``css`` selector to be the given ``text``.
|
||||
[Arguments] ${css} ${code}
|
||||
Select All CodeMirror Text ${css}
|
||||
Replace CodeMirror Selection ${css} ${code}
|
||||
|
||||
Select All CodeMirror Text
|
||||
[Arguments] ${css}
|
||||
[Documentation] Select all of the text in the CodeMirror attached to the element
|
||||
... matched by a ``css`` selector.
|
||||
[Arguments] ${css}
|
||||
Execute CodeMirror Command ${css} selectAll
|
||||
|
||||
Execute CodeMirror Command
|
||||
[Arguments] ${css} ${cmd}
|
||||
[Documentation] Run a CodeMirror [https://codemirror.net/doc/manual.html#commands:command]
|
||||
... ``cmd`` for the editor attached to element that matches a ``css`` selector
|
||||
[Arguments] ${css} ${cmd}
|
||||
Call CodeMirror Method ${css} execCommand("${cmd}")
|
||||
|
||||
Replace CodeMirror Selection
|
||||
[Arguments] ${css} ${code}
|
||||
[Documentation] Replace all of the text in the CodeMirror attached to the element
|
||||
... that matches a ``css`` selector with the given ``text``.
|
||||
[Arguments] ${css} ${code}
|
||||
Call CodeMirror Method ${css} replaceSelection(`${code}`)
|
||||
|
||||
Call CodeMirror Method
|
||||
[Arguments] ${css} ${js}
|
||||
[Documentation] Construct and a method call against in the CodeMirror attached to the element
|
||||
... that matches a ``css`` selector with the given ``js`` code.
|
||||
[Arguments] ${css} ${js}
|
||||
Execute JavaScript document.querySelector(`${css}`).CodeMirror.${js}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,13 +13,15 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Resource _Variables.robot
|
||||
Library SeleniumLibrary
|
||||
Library OperatingSystem
|
||||
Library Process
|
||||
Library String
|
||||
Library ./ports.py
|
||||
Resource _Variables.robot
|
||||
Library SeleniumLibrary
|
||||
Library OperatingSystem
|
||||
Library Process
|
||||
Library String
|
||||
Library ./ports.py
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Setup Server and Browser
|
||||
|
@ -31,7 +34,7 @@ Setup Server and Browser
|
|||
|
||||
Get Server Root
|
||||
${root} = Normalize Path ${OUTPUT DIR}${/}..${/}..${/}..
|
||||
[Return] ${root}
|
||||
RETURN ${root}
|
||||
|
||||
Setup Home
|
||||
${accel} = Evaluate "COMMAND" if "${OS}" == "Darwin" else "CTRL"
|
||||
|
@ -42,7 +45,7 @@ Setup Home
|
|||
Set Global Variable ${HOME} ${home}
|
||||
Create Directory ${home}
|
||||
Set Screenshot Directory ${OUTPUT DIR}${/}screenshots
|
||||
[Return] ${home}
|
||||
RETURN ${home}
|
||||
|
||||
Setup Real Server
|
||||
[Arguments] ${port} ${home} ${root}
|
||||
|
@ -61,19 +64,19 @@ Setup Real Server
|
|||
Set Global Variable ${LAB VERSION} ${config["appVersion"]}
|
||||
|
||||
Create Lab Launch Command
|
||||
[Arguments] ${root}
|
||||
[Documentation] Create a JupyterLab CLI shell string, escaping for traitlets
|
||||
[Arguments] ${root}
|
||||
${WORKSPACES DIR} = Set Variable ${OUTPUT DIR}${/}workspaces
|
||||
${app args} = Set Variable
|
||||
... --no-browser --debug --ServerApp.base_url\='${BASE}' --port\=${PORT} --ServerApp.token\='${TOKEN}'
|
||||
${path args} = Set Variable
|
||||
... --LabApp.user_settings_dir\='${SETTINGS DIR.replace('\\', '\\\\')}' --LabApp.workspaces_dir\='${WORKSPACES DIR.replace('\\', '\\\\')}'
|
||||
${cmd} = Set Variable jupyter-lab ${app args} ${path args}
|
||||
[Return] ${cmd}
|
||||
RETURN ${cmd}
|
||||
|
||||
Create Notebok Server Config
|
||||
[Arguments] ${home}
|
||||
[Documentation] Copies in notebook server config file to disables npm/build checks
|
||||
[Arguments] ${home}
|
||||
Copy File ${FIXTURES}${/}${NBSERVER CONF} ${home}${/}${NBSERVER CONF}
|
||||
|
||||
Setup Suite For Screenshots
|
||||
|
@ -108,9 +111,11 @@ Tear Down Real Server
|
|||
|
||||
Wait For Splash
|
||||
[Arguments] ${lab url}=${EMPTY}
|
||||
Run Keyword If """${lab url}"""
|
||||
... Go To ${lab url}
|
||||
... ELSE Go To ${URL}lab?reset&token=${TOKEN}
|
||||
IF """${lab url}"""
|
||||
Go To ${lab url}
|
||||
ELSE
|
||||
Go To ${URL}lab?reset&token=${TOKEN}
|
||||
END
|
||||
Set Window Size 1920 1080
|
||||
Wait Until Page Contains Element ${SPLASH} timeout=30s
|
||||
Wait Until Page Does Not Contain Element ${SPLASH} timeout=10s
|
||||
|
@ -132,7 +137,7 @@ Get Firefox Binary
|
|||
${firefox} = Set Variable If "${from env}"
|
||||
... %{FIREFOX_BINARY}
|
||||
... ${from which}
|
||||
[Return] ${firefox}
|
||||
RETURN ${firefox}
|
||||
|
||||
Close JupyterLab
|
||||
Close All Browsers
|
||||
|
@ -147,7 +152,7 @@ Try to Close All Tabs
|
|||
|
||||
Maybe Reset Application State
|
||||
${pabot} = Get Variable Value ${PABOTEXECUTIONPOOLID} ${EMPTY}
|
||||
Run Keyword If not(len("${pabot}")) Reset Application State
|
||||
IF not(len("${pabot}")) Reset Application State
|
||||
|
||||
Reset Application State
|
||||
Try to Close All Tabs
|
||||
|
@ -159,15 +164,15 @@ Reset Application State
|
|||
Accept Default Dialog Option
|
||||
[Documentation] Accept a dialog, if it exists
|
||||
${el} = Get WebElements ${CSS DIALOG OK}
|
||||
Run Keyword If ${el.__len__()} Click Element ${CSS DIALOG OK}
|
||||
IF ${el.__len__()} Click Element ${CSS DIALOG OK}
|
||||
|
||||
Ensure All Kernels Are Shut Down
|
||||
Enter Command Name Shut Down All Kernels
|
||||
${els} = Get WebElements ${CMD PALETTE ITEM ACTIVE}
|
||||
Run Keyword If ${els.__len__()} Click Element ${CMD PALETTE ITEM ACTIVE}
|
||||
IF ${els.__len__()} Click Element ${CMD PALETTE ITEM ACTIVE}
|
||||
${accept} = Set Variable css:.jp-mod-accept.jp-mod-warn
|
||||
Run Keyword If ${els.__len__()} Wait Until Page Contains Element ${accept}
|
||||
Run Keyword If ${els.__len__()} Click Element ${accept}
|
||||
IF ${els.__len__()} Wait Until Page Contains Element ${accept}
|
||||
IF ${els.__len__()} Click Element ${accept}
|
||||
|
||||
Open Command Palette
|
||||
Ensure Command Palette is Open
|
||||
|
@ -181,6 +186,7 @@ Enter Command Name
|
|||
|
||||
Lab Command
|
||||
[Arguments] ${cmd}
|
||||
Accept Default Dialog Option
|
||||
Enter Command Name ${cmd}
|
||||
Wait Until Page Contains Element ${CMD PALETTE ITEM ACTIVE}
|
||||
Click Element ${CMD PALETTE ITEM ACTIVE}
|
||||
|
@ -188,28 +194,28 @@ Lab Command
|
|||
Which
|
||||
[Arguments] ${cmd}
|
||||
${path} = Evaluate __import__("shutil").which("${cmd}")
|
||||
[Return] ${path}
|
||||
RETURN ${path}
|
||||
|
||||
Click JupyterLab Menu
|
||||
[Arguments] ${label}
|
||||
[Documentation] Click a top-level JupyterLab menu bar item with by ``label``,
|
||||
... e.g. File, Help, etc.
|
||||
[Arguments] ${label}
|
||||
${xpath} = Set Variable ${JLAB XP TOP}${JLAB XP MENU LABEL}\[text() = '${label}']
|
||||
Wait Until Page Contains Element ${xpath}
|
||||
Mouse Over ${xpath}
|
||||
Click Element ${xpath}
|
||||
|
||||
Click JupyterLab Menu Item
|
||||
[Arguments] ${label}
|
||||
[Documentation] Click a currently-visible JupyterLab menu item by ``label``.
|
||||
[Arguments] ${label}
|
||||
${item} = Set Variable ${JLAB XP MENU ITEM LABEL}\[text() = '${label}']
|
||||
Wait Until Page Contains Element ${item}
|
||||
Mouse Over ${item}
|
||||
Click Element ${item}
|
||||
|
||||
Open With JupyterLab Menu
|
||||
[Arguments] ${menu} @{submenus}
|
||||
[Documentation] Click into a ``menu``, then a series of ``submenus``
|
||||
[Arguments] ${menu} @{submenus}
|
||||
Click JupyterLab Menu ${menu}
|
||||
FOR ${submenu} IN @{submenus}
|
||||
Click JupyterLab Menu Item ${submenu}
|
||||
|
@ -219,24 +225,25 @@ Ensure File Browser is Open
|
|||
${sel} = Set Variable
|
||||
... css:.lm-TabBar-tab[data-id="filebrowser"]:not(.lm-mod-current)
|
||||
${els} = Get WebElements ${sel}
|
||||
Run Keyword If ${els.__len__()} Click Element ${sel}
|
||||
IF ${els.__len__()} Click Element ${sel}
|
||||
|
||||
Ensure Command Palette is Open
|
||||
${sel} = Set Variable
|
||||
... css:.lm-TabBar-tab[data-id="command-palette"]:not(.lm-mod-current)
|
||||
${els} = Get WebElements ${sel}
|
||||
Run Keyword If ${els.__len__()} Click Element ${sel}
|
||||
IF ${els.__len__()} Click Element ${sel}
|
||||
|
||||
Ensure Sidebar Is Closed
|
||||
[Arguments] ${side}=left
|
||||
${els} = Get WebElements css:#jp-${side}-stack
|
||||
Run Keyword If ${els.__len__()}
|
||||
... Click Element css:.jp-mod-${side} .lm-TabBar-tab.lm-mod-current
|
||||
IF ${els.__len__()}
|
||||
Click Element css:.jp-mod-${side} .lm-TabBar-tab.lm-mod-current
|
||||
END
|
||||
|
||||
Open Context Menu for File
|
||||
[Arguments] ${file}
|
||||
Ensure File Browser is Open
|
||||
Click Element css:button[title="Refresh File List"]
|
||||
Click Element css:button[data-command="filebrowser:refresh"]
|
||||
${selector} = Set Variable xpath://span[@class\='jp-DirListing-itemText']/span[text() = '${file}']
|
||||
Wait Until Page Contains Element ${selector}
|
||||
Open Context Menu ${selector}
|
||||
|
@ -336,4 +343,4 @@ Wait for a Diagram to be Ready
|
|||
Select Frame ${CSS DIO IFRAME}
|
||||
Double Click Element ${CSS DIO BG}
|
||||
Capture Page Screenshot 00-launched.png
|
||||
[Return] ${doc id}
|
||||
RETURN ${doc id}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,14 +13,16 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Resource ./_Variables.robot
|
||||
Resource ./_CodeMirror.robot
|
||||
Resource ./_Variables.robot
|
||||
Resource ./_CodeMirror.robot
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Add and Run JupyterLab Code Cell
|
||||
[Arguments] ${code}=print("hello world")
|
||||
[Documentation] Add a ``code`` cell to the currently active notebook and run it.
|
||||
[Arguments] ${code}=print("hello world")
|
||||
${add btn} = Set Variable css:${JLAB CSS NB TOOLBAR} ${JLAB CSS ICON ADD}
|
||||
Wait Until Page Contains Element ${add btn} timeout=10s
|
||||
Click Element ${add btn}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,91 +13,92 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Variables ***
|
||||
${FIXTURES} ${CURDIR}${/}fixtures
|
||||
${NBSERVER CONF} jupyter_notebook_config.json
|
||||
${SPLASH} id:jupyterlab-splash
|
||||
${FIXTURES} ${CURDIR}${/}fixtures
|
||||
${NBSERVER CONF} jupyter_notebook_config.json
|
||||
${SPLASH} id:jupyterlab-splash
|
||||
# to help catch hard-coded paths
|
||||
${BASE} /@est/
|
||||
${BASE} /@est/
|
||||
# override with `python scripts/atest.py --variable HEADLESS:0`
|
||||
${HEADLESS} 1
|
||||
${CMD PALETTE INPUT} css:#command-palette .lm-CommandPalette-input
|
||||
${CMD PALETTE ITEM ACTIVE} css:#command-palette .lm-CommandPalette-item.lm-mod-active
|
||||
${JLAB XP TOP} //div[@id='jp-top-panel']
|
||||
${JLAB XP MENU ITEM LABEL} //div[contains(@class, 'lm-Menu-itemLabel')]
|
||||
${JLAB XP MENU LABEL} //div[contains(@class, 'lm-MenuBar-itemLabel')]
|
||||
${JLAB XP DOCK TAB} xpath://div[contains(@class, 'lm-DockPanel-tabBar')]//li[contains(@class, 'lm-TabBar-tab')]
|
||||
${JLAB CSS VERSION} css:.jp-About-version
|
||||
${CSS DIALOG OK} css:.jp-Dialog .jp-mod-accept
|
||||
${MENU OPEN WITH} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(text(), "Open With")]
|
||||
${HEADLESS} 1
|
||||
${CMD PALETTE INPUT} css:#command-palette .lm-CommandPalette-input
|
||||
${CMD PALETTE ITEM ACTIVE} css:#command-palette .lm-CommandPalette-item.lm-mod-active
|
||||
${JLAB XP TOP} //div[@id='jp-top-panel']
|
||||
${JLAB XP MENU ITEM LABEL} //div[contains(@class, 'lm-Menu-itemLabel')]
|
||||
${JLAB XP MENU LABEL} //div[contains(@class, 'lm-MenuBar-itemLabel')]
|
||||
${JLAB XP DOCK TAB} xpath://div[contains(@class, 'lm-DockPanel-tabBar')]//li[contains(@class, 'lm-TabBar-tab')]
|
||||
${JLAB CSS VERSION} css:.jp-About-version
|
||||
${CSS DIALOG OK} css:.jp-Dialog .jp-mod-accept
|
||||
${MENU OPEN WITH} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(text(), "Open With")]
|
||||
# N is missing on purpose
|
||||
${MENU NOTEBOOK} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(., "otebook")]
|
||||
${DIALOG WINDOW} css:.jp-Dialog
|
||||
${DIALOG INPUT} css:.jp-Input-Dialog input
|
||||
${DIALOG ACCEPT} css:button.jp-Dialog-button.jp-mod-accept
|
||||
${MENU NOTEBOOK} xpath://li[@data-command="filebrowser:open"]//div[contains(@class, 'lm-Menu-itemLabel')][contains(., "otebook")]
|
||||
${DIALOG WINDOW} css:.jp-Dialog
|
||||
${DIALOG INPUT} css:.jp-Input-Dialog input
|
||||
${DIALOG ACCEPT} css:button.jp-Dialog-button.jp-mod-accept
|
||||
# TODO: get ours
|
||||
# ${STATUSBAR} css:div.lsp-statusbar-item
|
||||
${MENU EDITOR} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(., "Editor")]
|
||||
${MENU SETTINGS} xpath://div[contains(@class, 'lm-MenuBar-itemLabel')][contains(text(), "Settings")]
|
||||
${MENU RENAME} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(., "ename")]
|
||||
${MENU EDITOR} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(., "Editor")]
|
||||
${MENU SETTINGS} xpath://div[contains(@class, 'lm-MenuBar-itemLabel')][contains(text(), "Settings")]
|
||||
${MENU RENAME} xpath://div[contains(@class, 'lm-Menu-itemLabel')][contains(., "ename")]
|
||||
# settings
|
||||
${DIO PLUGIN ID} @deathbeds/ipydrawio:plugin
|
||||
${DIO PLUGIN SETTINGS FILE} @deathbeds${/}ipydrawio${/}plugin.jupyterlab-settings
|
||||
${CSS USER SETTINGS} .jp-SettingsRawEditor-user
|
||||
${JLAB XP CLOSE SETTINGS} ${JLAB XP DOCK TAB}\[contains(., 'Settings')]/*[contains(@class, 'm-TabBar-tabCloseIcon')]
|
||||
${DIO PLUGIN ID} @deathbeds/ipydrawio:plugin
|
||||
${DIO PLUGIN SETTINGS FILE} @deathbeds${/}ipydrawio${/}plugin.jupyterlab-settings
|
||||
${CSS USER SETTINGS} .jp-SettingsRawEditor-user
|
||||
${JLAB XP CLOSE SETTINGS} ${JLAB XP DOCK TAB}\[contains(., 'Settings')]/*[contains(@class, 'm-TabBar-tabCloseIcon')]
|
||||
# launcher
|
||||
${XP LAUNCH TAB} ${JLAB XP DOCK TAB}//*[contains(text(), 'Launcher')]
|
||||
${CSS LAUNCHER} css:.jp-Launcher-body
|
||||
${CREATE A BLANK} Create a blank .dio file
|
||||
${CSS LAUNCH DIO} css:.jp-LauncherCard[title='${CREATE A BLANK}'] svg
|
||||
${CSS LAUNCH CUSTOM} css:.jp-LauncherCard[title='Create a diagram with customized formats, templates, and UI'] svg
|
||||
${XP LAUNCH TAB} ${JLAB XP DOCK TAB}//*[contains(text(), 'Launcher')]
|
||||
${CSS LAUNCHER} css:.jp-Launcher-body
|
||||
${CREATE A BLANK} Create a blank .dio file
|
||||
${CSS LAUNCH DIO} css:.jp-LauncherCard[title='${CREATE A BLANK}'] svg
|
||||
${CSS LAUNCH CUSTOM} css:.jp-LauncherCard[title='Create a diagram with customized formats, templates, and UI'] svg
|
||||
# ipykernel 5 is "Python 3". ipykernel 6 is "Python 3 (ipykernel)"... but only works on python 3.7+
|
||||
# TODO: consider capturing this information as a tag
|
||||
${CSS LAUNCH IPYNB} css:.jp-LauncherCard[data-category='Notebook'][title^='Python 3'] .jp-LauncherCard-icon
|
||||
${CSS DIO READY} css:.jp-Diagram-ready
|
||||
${CSS DIO IFRAME} ${CSS DIO READY} iframe
|
||||
${CSS LAUNCH IPYNB} css:.jp-LauncherCard[data-category='Notebook'][title^='Python 3'] .jp-LauncherCard-icon
|
||||
${CSS DIO READY} css:.jp-Diagram-ready
|
||||
${CSS DIO IFRAME} ${CSS DIO READY} iframe
|
||||
# drawio
|
||||
${CSS DIO BG} css:.geDiagramContainer svg
|
||||
${CSS DIO SHAPE POPUP} css:.geToolbarContainer.geSidebarContainer
|
||||
${CSS DIO SHAPE POPUP SHAPE} ${CSS DIO SHAPE POPUP} .geItem
|
||||
${CSS DIO EDITABLE} css:.mxCellEditor.geContentEditable
|
||||
${CSS DIO BG} css:.geDiagramContainer svg
|
||||
${CSS DIO SHAPE POPUP} css:.geToolbarContainer.geSidebarContainer
|
||||
${CSS DIO SHAPE POPUP SHAPE} ${CSS DIO SHAPE POPUP} .geItem
|
||||
${CSS DIO EDITABLE} css:.mxCellEditor.geContentEditable
|
||||
# advanced
|
||||
${CSS CREATE CUSTOM} css:.jp-IPyDiagram-CreateCustom
|
||||
${CSS ACCEPT CUSTOM} ${CSS CREATE CUSTOM} header .jp-mod-accept
|
||||
${CSS CREATE CUSTOM} css:.jp-IPyDiagram-CreateCustom
|
||||
${CSS ACCEPT CUSTOM} ${CSS CREATE CUSTOM} header .jp-mod-accept
|
||||
# from jupyterlibrary
|
||||
${JLAB CSS ACCEPT} .jp-mod-accept
|
||||
${JLAB CSS ACTIVE DOC} .jp-Document:not(.jp-mod-hidden)
|
||||
${JLAB CSS ACTIVE DOC CELLS} ${JLAB CSS ACTIVE DOC} .jp-Cell
|
||||
${JLAB CSS ACTIVE CELL} ${JLAB CSS ACTIVE DOC} .jp-Cell.jp-mod-active
|
||||
${JLAB CSS ACTIVE INPUT} ${JLAB CSS ACTIVE CELL} .CodeMirror
|
||||
${JLAB CSS ACTIVE OUTPUT CHILDREN} ${JLAB CSS ACTIVE CELL} .jp-OutputArea-child
|
||||
${JLAB CSS OUTPUT} .jp-OutputArea-output
|
||||
${JLAB CSS ACTIVE CELL MARKDOWN} ${JLAB CSS ACTIVE CELL} .jp-MarkdownOutput:not(.jp-mod-hidden)
|
||||
${JLAB CSS ACTIVE SIDEBAR} .jp-SideBar .p-TabBar-tab.p-mod-current
|
||||
${JLAB CSS BUSY KERNEL} .jp-Toolbar-kernelStatus.jp-FilledCircleIcon
|
||||
${JLAB CSS CMD INPUT} .p-CommandPalette-input
|
||||
${JLAB CSS CMD ITEM} .p-CommandPalette-item
|
||||
${JLAB CSS NB TOOLBAR} .jp-NotebookPanel-toolbar
|
||||
${JLAB CSS SIDEBAR TAB} .jp-SideBar .p-TabBar-tab
|
||||
${JLAB CSS SPINNER} .jp-Spinner
|
||||
${JLAB ID SPLASH} jupyterlab-splash
|
||||
${JLAB TEXT BUSY PROMPT} In [*]:
|
||||
${JLAB XP CARD} //div[@class='jp-LauncherCard']
|
||||
${JLAB XP DOCK} //div[@id='jp-main-dock-panel']
|
||||
${JW XP ACCORD CHILD} //div[contains(@class, '-Accordion-child')]
|
||||
${JW XP ACCORD CHILD HEAD} ${JW XP ACCORD CHILD}/div[contains(@class, 'p-Collapse-header')]
|
||||
${JLAB CSS ACCEPT} .jp-mod-accept
|
||||
${JLAB CSS ACTIVE DOC} .jp-Document:not(.jp-mod-hidden)
|
||||
${JLAB CSS ACTIVE DOC CELLS} ${JLAB CSS ACTIVE DOC} .jp-Cell
|
||||
${JLAB CSS ACTIVE CELL} ${JLAB CSS ACTIVE DOC} .jp-Cell.jp-mod-active
|
||||
${JLAB CSS ACTIVE INPUT} ${JLAB CSS ACTIVE CELL} .CodeMirror
|
||||
${JLAB CSS ACTIVE OUTPUT CHILDREN} ${JLAB CSS ACTIVE CELL} .jp-OutputArea-child
|
||||
${JLAB CSS OUTPUT} .jp-OutputArea-output
|
||||
${JLAB CSS ACTIVE CELL MARKDOWN} ${JLAB CSS ACTIVE CELL} .jp-MarkdownOutput:not(.jp-mod-hidden)
|
||||
${JLAB CSS ACTIVE SIDEBAR} .jp-SideBar .p-TabBar-tab.p-mod-current
|
||||
${JLAB CSS BUSY KERNEL} .jp-Toolbar-kernelStatus.jp-FilledCircleIcon
|
||||
${JLAB CSS CMD INPUT} .p-CommandPalette-input
|
||||
${JLAB CSS CMD ITEM} .p-CommandPalette-item
|
||||
${JLAB CSS NB TOOLBAR} .jp-NotebookPanel-toolbar
|
||||
${JLAB CSS SIDEBAR TAB} .jp-SideBar .p-TabBar-tab
|
||||
${JLAB CSS SPINNER} .jp-Spinner
|
||||
${JLAB ID SPLASH} jupyterlab-splash
|
||||
${JLAB TEXT BUSY PROMPT} In [*]:
|
||||
${JLAB XP CARD} //div[@class='jp-LauncherCard']
|
||||
${JLAB XP DOCK} //div[@id='jp-main-dock-panel']
|
||||
${JW XP ACCORD CHILD} //div[contains(@class, '-Accordion-child')]
|
||||
${JW XP ACCORD CHILD HEAD} ${JW XP ACCORD CHILD}/div[contains(@class, 'p-Collapse-header')]
|
||||
# notebook
|
||||
${JLAB CSS ICON ADD} .jp-ToolbarButtonComponent [data-icon='ui-components:add']
|
||||
${JLAB CSS ICON RUN} .jp-ToolbarButtonComponent [data-icon='ui-components:run']
|
||||
${XP DIO FORMAT TITLE} //*[contains(@class, 'mxWindowTitle')][contains(text(), 'Format')]
|
||||
${XP DIO FORMAT TOGGLE} ${XP DIO FORMAT TITLE}/div/img[@title="Normalize"]
|
||||
${XP DIO FORMAT PANE} ${XP DIO FORMAT TITLE}/../..//td/div[contains(@class, 'mxWindowPane')]
|
||||
${XP DIO FORMAT PANE VISIBLE} ${XP DIO FORMAT PANE}\[not(contains(@style, 'display: none'))]
|
||||
${XP DIO PAGE SIZE} //div[contains(@class, "geFormatSection")][contains(., "Paper Size")]//select
|
||||
${JLAB CSS ICON ADD} .jp-ToolbarButtonComponent [data-icon='ui-components:add']
|
||||
${JLAB CSS ICON RUN} .jp-ToolbarButtonComponent [data-icon='ui-components:run']
|
||||
${XP DIO FORMAT TITLE} //*[contains(@class, 'mxWindowTitle')][contains(text(), 'Format')]
|
||||
${XP DIO FORMAT TOGGLE} ${XP DIO FORMAT TITLE}/div/img[@title="Normalize"]
|
||||
${XP DIO FORMAT PANE} ${XP DIO FORMAT TITLE}/../..//td/div[contains(@class, 'mxWindowPane')]
|
||||
${XP DIO FORMAT PANE VISIBLE} ${XP DIO FORMAT PANE}\[not(contains(@style, 'display: none'))]
|
||||
${XP DIO PAGE SIZE} //div[contains(@class, "geFormatSection")][contains(., "Paper Size")]//select
|
||||
# mime
|
||||
${MIME STDERR} application/vnd.jupyter.stderr
|
||||
${MIME STDERR} application/vnd.jupyter.stderr
|
||||
# retro
|
||||
${CSS RETRO TREE DIO BTN} css:button[title='${CREATE A BLANK}']
|
||||
${CSS RETRO TREE DIO BTN} css:button[title='${CREATE A BLANK}']
|
||||
# docs
|
||||
${TUTORIALS} ${ROOT}${/}docs${/}tutorials
|
||||
${CLIB TUTORIAL} ${TUTORIALS}${/}working-with-custom-libraries${/}index.ipynb
|
||||
${TUTORIALS} ${ROOT}${/}docs${/}tutorials
|
||||
${CLIB TUTORIAL} ${TUTORIALS}${/}working-with-custom-libraries${/}index.ipynb
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,5 +13,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation IPyDrawio
|
||||
Documentation IPyDrawio
|
||||
|
||||
Test Timeout 5 minutes
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,12 +13,17 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Does custom create work?
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Force Tags component:document component:custom
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}screenshots${/}custom
|
||||
Documentation Does custom create work?
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}screenshots${/}custom
|
||||
|
||||
Force Tags component:document component:custom
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Defaults
|
||||
|
@ -44,6 +50,7 @@ Atlas JupyterLab Diagram Notebook
|
|||
[Documentation] Atlas JupyterLab Diagram Notebook?
|
||||
Validate Custom Create ajn dio.ipynb atlas JupyterLab Mockups.dio
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Validate Custom Create
|
||||
[Arguments] ${stem} ${ext} ${ui} ${template}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,22 +13,27 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Are export formats sane?
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library ../pdf.py
|
||||
Force Tags component:document
|
||||
Documentation Are export formats sane?
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library ../pdf.py
|
||||
|
||||
Force Tags component:document
|
||||
|
||||
|
||||
*** Variables ***
|
||||
&{EXT EDIT WITH} =
|
||||
... dio.ipynb=Diagram Notebook (Diagram Notebook),Notebook,Editor,JSON
|
||||
... dio.png=Diagram Image (Editable PNG),Image,Editor,Diagram Image (PNG)
|
||||
... dio.svg=Diagram (Editable SVG),Image (Text),Editor,Image,Diagram (SVG)
|
||||
... ipynb=Notebook,Editor,Diagram Notebook (Notebook),JSON
|
||||
... pdf=PDF,Editor
|
||||
... png=Image,Editor,Diagram Image (PNG)
|
||||
... svg=Image (Text),Editor,Image,Diagram (SVG)
|
||||
... dio.ipynb=Diagram Notebook (Diagram Notebook),Notebook,Editor,JSON
|
||||
... dio.png=Diagram Image (Editable PNG),Image,Editor,Diagram Image (PNG)
|
||||
... dio.svg=Diagram (Editable SVG),Image (Text),Editor,Image,Diagram (SVG)
|
||||
... ipynb=Notebook,Editor,Diagram Notebook (Notebook),JSON
|
||||
... pdf=PDF,Editor
|
||||
... png=Image,Editor,Diagram Image (PNG)
|
||||
... svg=Image (Text),Editor,Image,Diagram (SVG)
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
SVG
|
||||
|
@ -57,12 +63,20 @@ Notebook
|
|||
PDF
|
||||
[Documentation] does read-only PDF work?
|
||||
Wait Until Keyword Succeeds 5x 30s IPyDrawio Export Server Should be Provisioned
|
||||
Wait Until Keyword Succeeds 5x 10s Validate Export Format PDF pdf timeout=30s extra_text=Exporting Diagram
|
||||
Wait Until Keyword Succeeds
|
||||
... 5x
|
||||
... 10s
|
||||
... Validate Export Format
|
||||
... PDF
|
||||
... pdf
|
||||
... timeout=30s
|
||||
... extra_text=Exporting Diagram
|
||||
# TODO: restore someday
|
||||
# PDF (Editable)
|
||||
# [Documentation] does editable PDF work?
|
||||
# Validate Export Format PDF pdf timeout=60s
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Validate Export Format
|
||||
[Arguments] ${format} ${ext} ${editable}=${False}
|
||||
|
@ -84,7 +98,7 @@ Validate Export Format
|
|||
Prepare a Diagram for Export
|
||||
Launch Untitled Diagram
|
||||
${doc id} = Wait for a Diagram to be Ready
|
||||
[Return] ${doc id}
|
||||
RETURN ${doc id}
|
||||
|
||||
Add a Shape to a Diagram
|
||||
${a shape} = Set Variable ${CSS DIO SHAPE POPUP SHAPE}:nth-child(2)
|
||||
|
@ -97,13 +111,17 @@ Export a Diagram
|
|||
[Arguments] ${format} ${ext} ${timeout} ${extra_text} ${rename}
|
||||
Lab Command Export Diagram as ${format}
|
||||
Ensure File Browser is Open
|
||||
Run Keyword If "${extra_text}" Wait Until Page Contains ${extra_text} timeout=${timeout}
|
||||
Run Keyword If "${extra_text}" Wait Until Page Does Not Contain ${extra_text} timeout=${timeout}
|
||||
IF "${extra_text}"
|
||||
Wait Until Page Contains ${extra_text} timeout=${timeout}
|
||||
END
|
||||
IF "${extra_text}"
|
||||
Wait Until Page Does Not Contain ${extra_text} timeout=${timeout}
|
||||
END
|
||||
${file item} = Wait Until Keyword Succeeds 5x 1s Get File Item ${ext}
|
||||
Wait Until Page Contains Element ${file item} timeout=${timeout}
|
||||
${filename} = Get File Item ${ext} name
|
||||
Run Keyword If ${rename.__len__()} Rename Jupyter File ${filename} ${rename}
|
||||
[Return] ${file item}
|
||||
IF ${rename.__len__()} Rename Jupyter File ${filename} ${rename}
|
||||
RETURN ${file item}
|
||||
|
||||
Get File Item
|
||||
[Arguments] ${frag} ${field}=${EMPTY}
|
||||
|
@ -112,7 +130,7 @@ Get File Item
|
|||
${res} = Set Variable If "${field}"
|
||||
... ${title.strip().splitlines()[0].split(":", 1)[1].strip()}
|
||||
... ${sel}
|
||||
[Return] ${res}
|
||||
RETURN ${res}
|
||||
|
||||
Verify a Diagram
|
||||
[Arguments] ${format} ${ext} ${editable} ${doc id}
|
||||
|
@ -120,12 +138,14 @@ Verify a Diagram
|
|||
${file item} = Get File Item ${ext}
|
||||
Click Element ${file item}
|
||||
${filename} = Get File Item ${ext} Name
|
||||
Run Keyword If '''${ext}''' in &{EXT EDIT WITH}
|
||||
... Verify Edit With Menu ${ext} ${filename}
|
||||
IF '''${ext}''' in &{EXT EDIT WITH}
|
||||
Verify Edit With Menu ${ext} ${filename}
|
||||
END
|
||||
Double Click Element ${file item}
|
||||
Ensure Sidebar Is Closed
|
||||
Run Keyword If ${editable}
|
||||
... Validate Editable Format ${format} ${ext} ${doc id}
|
||||
IF ${editable}
|
||||
Validate Editable Format ${format} ${ext} ${doc id}
|
||||
END
|
||||
Capture Page Screenshot 99-exported.png
|
||||
|
||||
Verify Edit With Menu
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,18 +13,23 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Does the media type (mimerenderer) work?
|
||||
Resource ../_Keywords.robot
|
||||
Resource ../_Notebook.robot
|
||||
Force Tags component:media
|
||||
Library OperatingSystem
|
||||
Documentation Does the media type (mimerenderer) work?
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ../_Notebook.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Force Tags component:media
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Drawio XML
|
||||
[Documentation] does native Drawio XML work?
|
||||
Validate Media Display drawio-xml application/x-drawio A.dio
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Validate Media Display
|
||||
[Arguments] ${label} ${media type} ${example} ${format}=text
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,11 +13,15 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Are Diagram settings usable?
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Force Tags component:settings
|
||||
Documentation Are Diagram settings usable?
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Force Tags component:settings
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Min
|
||||
|
@ -39,10 +44,11 @@ Sketch
|
|||
[Documentation] Does the kennedy theme work?
|
||||
Validate a Diagram Theme sketch
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Validate a Diagram Theme
|
||||
[Arguments] ${ui}
|
||||
[Documentation] Change the theme
|
||||
[Arguments] ${ui}
|
||||
Set Tags settings:urlparams:ui ui:${ui}
|
||||
Set Screenshot Directory ${OUTPUT DIR}${/}settings${/}ui${/}${ui}
|
||||
Reset Plugin Settings
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,9 +13,12 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation smoke tests
|
||||
Resource ../_Keywords.robot
|
||||
Documentation smoke tests
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Smoke
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,25 +13,32 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Do the tutorials work?
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Force Tags component:tutorials
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}screenshots${/}tutorials
|
||||
Documentation Do the tutorials work?
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}screenshots${/}tutorials
|
||||
|
||||
Force Tags component:tutorials
|
||||
|
||||
|
||||
*** Variables ***
|
||||
${XP MY LIBRARY TITLE} xpath://a[starts-with(@title, 'my+library')]
|
||||
${XP MY LIBRARY SHAPES} ${XP MY LIBRARY TITLE}/following-sibling::div[1]//a[contains(@class, 'geItem')]
|
||||
${XP SHAPE TOOLTIP} xpath://*[contains(@class, 'geSidebarTooltip')]
|
||||
@{SHAPE TITLES} Exit Machine Queue Source
|
||||
${XP MY LIBRARY TITLE} xpath://a[starts-with(@title, 'my+library')]
|
||||
${XP MY LIBRARY SHAPES} ${XP MY LIBRARY TITLE}/following-sibling::div[1]//a[contains(@class, 'geItem')]
|
||||
${XP SHAPE TOOLTIP} xpath://*[contains(@class, 'geSidebarTooltip')]
|
||||
@{SHAPE TITLES} Exit Machine Queue Source
|
||||
${CUSTOM LIBRARY TUTORIAL} clib.ipynb
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Custom Library URL Hack
|
||||
[Documentation] Does using a custom library work?
|
||||
[Tags] component:widget
|
||||
Copy File ${CLIB TUTORIAL} ${HOME}${/}clib.ipynb
|
||||
Wait Until Keyword Succeeds 5x 5s Open clib.ipynb in ${MENU NOTEBOOK}
|
||||
Copy File ${CLIB TUTORIAL} ${HOME}${/}${CUSTOM LIBRARY TUTORIAL}
|
||||
Wait Until Keyword Succeeds 5x 5s Open ${CUSTOM LIBRARY TUTORIAL} in ${MENU NOTEBOOK}
|
||||
Lab Command Restart Kernel and Run All Cells
|
||||
Accept Default Dialog Option
|
||||
Click Element css:.jp-Cell:last-child
|
||||
|
@ -45,7 +53,8 @@ Custom Library URL Hack
|
|||
END
|
||||
[Teardown] Tear Down Custom Library Tutorial
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Tear Down Custom Library Tutorial
|
||||
Unselect Frame
|
||||
Remove File ${HOME}${/}clib.ipynb
|
||||
Remove File ${HOME}${/}${CUSTOM LIBRARY TUTORIAL}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,12 +13,16 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Does the Jupyter Widget work?
|
||||
Resource ../_Keywords.robot
|
||||
Resource ../_Notebook.robot
|
||||
Force Tags component:widget
|
||||
Library OperatingSystem
|
||||
Documentation Does the Jupyter Widget work?
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ../_Notebook.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Force Tags component:widget
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Diagram Widget
|
||||
|
@ -45,6 +50,7 @@ Many Shapes
|
|||
Select All From List css:select[multiple]
|
||||
Capture Page Screenshot 01-eleven.png
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Create Diagram Widget
|
||||
[Arguments] ${label} ${add multiple}=${FALSE}
|
||||
|
@ -52,9 +58,7 @@ Create Diagram Widget
|
|||
Launch Untitled Notebook
|
||||
Add and Run JupyterLab Code Cell import ipywidgets as W, traitlets as T; from ipydrawio_widgets import Diagram
|
||||
Add and Run JupyterLab Code Cell diagram = Diagram(layout\=dict(min_height\="60vh"));
|
||||
IF ${add multiple}
|
||||
Create Linked SelectMultiple
|
||||
END
|
||||
IF ${add multiple} Create Linked SelectMultiple
|
||||
Add and Run JupyterLab Code Cell diagram
|
||||
Wait Until Page Contains Element ${CSS DIO READY} iframe
|
||||
|
||||
|
@ -127,9 +131,9 @@ Change Paper Size
|
|||
|
||||
Maybe Open Format Pane
|
||||
${els} = Get WebElements xpath:${XP DIO FORMAT PANE VISIBLE}
|
||||
Run Keyword If not ${els.__len__()} Click Element xpath:${XP DIO FORMAT TOGGLE}
|
||||
IF not ${els.__len__()} Click Element xpath:${XP DIO FORMAT TOGGLE}
|
||||
Wait Until Page Contains Element xpath:${XP DIO FORMAT PANE VISIBLE}
|
||||
|
||||
Measure Paper
|
||||
${size} = Get Element Size css:.geBackgroundPage
|
||||
[Return] ${size}
|
||||
RETURN ${size}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,12 +13,16 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Lab
|
||||
Resource ../_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
Suite Setup Setup Server and Browser
|
||||
Suite Teardown Tear Down Everything
|
||||
Test Setup Maybe Reset Application State
|
||||
Test Teardown Maybe Reset Application State
|
||||
Force Tags os:${OS.lower()} py:${PY} app:lab
|
||||
Documentation Lab
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
|
||||
Suite Setup Setup Server and Browser
|
||||
Suite Teardown Tear Down Everything
|
||||
Test Setup Maybe Reset Application State
|
||||
Test Teardown Maybe Reset Application State
|
||||
|
||||
Force Tags os:${os.lower()} py:${py} app:lab
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,13 +13,18 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Test some diagrams in lite
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Force Tags component:document
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}lite${/}documents
|
||||
Documentation Test some diagrams in lite
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}lite${/}documents
|
||||
|
||||
Force Tags component:document
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Poster Dio Svg
|
||||
|
@ -57,10 +63,11 @@ What-Can-You-Draw Dio Svg
|
|||
[Documentation] Does the what-can-you-draw.dio.svg example document work?
|
||||
Example Document Should Load what-can-you-draw.dio.svg
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Example Document Should Load
|
||||
[Arguments] ${file}
|
||||
[Documentation] Does one example document work?
|
||||
[Arguments] ${file}
|
||||
Try to Close All Tabs
|
||||
Ensure File Browser is Open
|
||||
Double Click Element css:[title*\="${file}"]
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,16 +13,22 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Test some notebooks in lite
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Library OperatingSystem
|
||||
Force Tags component:notebook
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}lite${/}notebooks
|
||||
Documentation Test some notebooks in lite
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Library OperatingSystem
|
||||
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}lite${/}notebooks
|
||||
|
||||
Force Tags component:notebook
|
||||
|
||||
|
||||
*** Variables ***
|
||||
${PYOLITE BUSY} Pyolite | Busy
|
||||
${PYOLITE BUSY} Pyolite | Busy
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Diagram Document
|
||||
|
@ -40,10 +47,11 @@ Roadmap
|
|||
[Documentation] Does the ROADMAP example notebook work?
|
||||
Notebook Should Run Without Error ROADMAP.ipynb
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Notebook Should Run Without Error
|
||||
[Arguments] ${file}
|
||||
[Documentation] Does one example notebook work?
|
||||
[Arguments] ${file}
|
||||
Try to Close All Tabs
|
||||
${stem} = Set Variable ${file.lower().replace(" ", "-").split(".")[0]}
|
||||
Ensure File Browser is Open
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,11 +13,15 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Check the vitals of a Lite site
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}lite${/}smoke
|
||||
Documentation Check the vitals of a Lite site
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
|
||||
Suite Setup Set Screenshot Directory ${OUTPUT DIR}${/}lite${/}smoke
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Does Lite load?
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,23 +13,27 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
*** Settings ***
|
||||
Documentation A work-in-progress set of keywords for JupyterLite
|
||||
Library OperatingSystem
|
||||
Library Process
|
||||
Library ../ports.py
|
||||
|
||||
*** Variable ***
|
||||
*** Settings ***
|
||||
Documentation A work-in-progress set of keywords for JupyterLite
|
||||
|
||||
Library OperatingSystem
|
||||
Library Process
|
||||
Library ../ports.py
|
||||
|
||||
|
||||
*** Variables ***
|
||||
${NEXT LITE LOG} ${0}
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Start JupyterLite Process
|
||||
[Arguments] ${cwd} ${task} @{args}
|
||||
[Documentation] Start a `jupyter lite` process
|
||||
[Arguments] ${cwd} ${task} @{args}
|
||||
${proc} = Start Process jupyter lite ${task} @{args} cwd=${cwd}
|
||||
... stdout=${OUTPUT DIR}${/}lite-${NEXT LITE LOG}-${task}.log stderr=STDOUT
|
||||
Set Global Variable ${NEXT LITE LOG} ${NEXT LITE LOG + 1}
|
||||
[Return] ${proc}
|
||||
RETURN ${proc}
|
||||
|
||||
Start JupyterLite Server
|
||||
[Documentation] Start _the_ `jupyter lite` server
|
||||
|
@ -49,7 +54,7 @@ Start JupyterLite Server
|
|||
... service_log_path=${OUTPUT DIR}${/}geckodriver-lite.log
|
||||
... service_args=${service args}
|
||||
Wait For URL Status ${url} ${200}
|
||||
[Return] ${proc}
|
||||
RETURN ${proc}
|
||||
|
||||
Open JupyterLite
|
||||
Set Environment Variable MOZ_HEADLESS 1
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,13 +13,17 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Lite
|
||||
Library OperatingSystem
|
||||
Force Tags app:lite
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Keywords.robot
|
||||
Suite Setup Start Lite Suite
|
||||
Suite Teardown Clean Up Lite Suite
|
||||
Test Setup Start Lite Test
|
||||
Test Teardown Clean Up Lite Test
|
||||
Documentation Lite
|
||||
|
||||
Library OperatingSystem
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Keywords.robot
|
||||
|
||||
Suite Setup Start Lite Suite
|
||||
Suite Teardown Clean Up Lite Suite
|
||||
Test Setup Start Lite Test
|
||||
Test Teardown Clean Up Lite Test
|
||||
|
||||
Force Tags app:lite
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,10 +13,13 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation tree tests
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
Documentation tree tests
|
||||
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
New Diagram
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,9 +13,12 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation smoke tests
|
||||
Resource ./_Keywords.robot
|
||||
Documentation smoke tests
|
||||
|
||||
Resource ./_Keywords.robot
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Smoke
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,10 +13,13 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation tree tests
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
Documentation tree tests
|
||||
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
New Diagram
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,10 +13,13 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation A work-in-progress set of keywords for RetroLab
|
||||
Library SeleniumLibrary
|
||||
Resource ../_Keywords.robot
|
||||
Documentation A work-in-progress set of keywords for RetroLab
|
||||
|
||||
Library SeleniumLibrary
|
||||
Resource ../_Keywords.robot
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Setup Server and Retro Browser
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
*** Comments ***
|
||||
# Copyright 2022 ipydrawio contributors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -12,12 +13,16 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Retro
|
||||
Force Tags os:${OS.lower()} py:${PY} app:retro
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
Suite Setup Setup Server and Retro Browser
|
||||
Suite Teardown Tear Down Everything
|
||||
Test Setup Open Retro Tree
|
||||
Documentation Retro
|
||||
|
||||
Resource ../_Keywords.robot
|
||||
Resource ./_Keywords.robot
|
||||
Resource ../_Variables.robot
|
||||
|
||||
Suite Setup Setup Server and Retro Browser
|
||||
Suite Teardown Tear Down Everything
|
||||
Test Setup Open Retro Tree
|
||||
|
||||
Force Tags os:${os.lower()} py:${py} app:retro
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
"../py_packages/ipydrawio/dist/ipydrawio-1.2.1-py3-none-any.whl",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/bqplot-0.12.33-pyhd8ed1ab_0.tar.bz2/bqplot-0.12.33-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/jupyterlab-tour-3.1.4-pyhd8ed1ab_0.tar.bz2/jupyterlab-tour-3.1.4-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/jupyterlab_widgets-1.0.2-pyhd8ed1ab_0.tar.bz2/jupyterlab_widgets-1.0.2-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/jupyterlab-webrtc-docprovider-0.1.1-pyhd8ed1ab_0.tar.bz2/jupyterlab-webrtc-docprovider-0.1.1-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/jupyterlab_widgets-1.1.0-pyhd8ed1ab_0.tar.bz2/jupyterlab_widgets-1.1.0-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/wxyz_datagrid-0.5.1-pyhd8ed1ab_0.tar.bz2/wxyz_datagrid-0.5.1-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/wxyz_json_schema_form-0.5.1-pyhd8ed1ab_0.tar.bz2/wxyz_json_schema_form-0.5.1-pyhd8ed1ab_0.tar.bz2",
|
||||
"https://github.com/conda-forge/releases/releases/download/noarch/wxyz_lab-0.5.1-pyhd8ed1ab_0.tar.bz2/wxyz_lab-0.5.1-pyhd8ed1ab_0.tar.bz2",
|
||||
|
|
|
@ -32,7 +32,7 @@ dependencies:
|
|||
- sphinx-jsonschema
|
||||
- sphinxext-rediraffe
|
||||
- pip:
|
||||
- jupyterlite ==0.1.0b0
|
||||
- jupyterlite ==0.1.0b7
|
||||
|
||||
### ipydrawio-docs-deps ###
|
||||
|
||||
|
@ -46,7 +46,7 @@ dependencies:
|
|||
- python # this gets patched in ci
|
||||
# run
|
||||
- ipywidgets >=7.6,<8
|
||||
- jupyterlab >=3.2.4,<4.0.0a0
|
||||
- jupyterlab >=3.4.0,<4.0.0a0
|
||||
- jupyterlab_widgets >=1
|
||||
- lxml
|
||||
- pillow
|
||||
|
@ -64,6 +64,7 @@ dependencies:
|
|||
- pyflakes
|
||||
- pyyaml
|
||||
- robotframework-lint
|
||||
- robotframework-tidy
|
||||
# unit testing
|
||||
- pytest
|
||||
- pytest-console-scripts
|
||||
|
|
4
dodo.py
4
dodo.py
|
@ -391,7 +391,7 @@ def task_lint():
|
|||
dict(
|
||||
name="robot:tidy",
|
||||
file_dep=P.ALL_ROBOT,
|
||||
actions=[[*P.PYM, "robot.tidy", "--inplace", *P.ALL_ROBOT]],
|
||||
actions=[["robotidy", *P.ALL_ROBOT]],
|
||||
),
|
||||
P.OK_ROBOTIDY,
|
||||
)
|
||||
|
@ -1006,7 +1006,7 @@ def task_test():
|
|||
targets=[dest],
|
||||
actions=[
|
||||
(P.template_one, [tmpl, dest]),
|
||||
[*P.PYM, "robot.tidy", "--inplace", dest],
|
||||
["robotidy", dest],
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
"prettier": "^2.1.1",
|
||||
"prettier-plugin-sort-json": "^0.0.2",
|
||||
"typedoc": "^0.20.36",
|
||||
"typedoc-plugin-markdown": "~3.9.0"
|
||||
"typedoc-plugin-markdown": "~3.9.0",
|
||||
"yarn-deduplicate": "^3.1.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"ansi-regex": "5.0.1",
|
||||
|
@ -28,7 +29,8 @@
|
|||
"scripts": {
|
||||
"bootstrap": "jlpm --prefer-offline && lerna bootstrap",
|
||||
"eslint": "cd packages && eslint --cache --fix --ext .js,.ts,.tsx .",
|
||||
"eslint:check": "cd packages && eslint --cache --ext .js,.ts,.tsx ."
|
||||
"eslint:check": "cd packages && eslint --cache --ext .js,.ts,.tsx .",
|
||||
"deduplicate": "yarn-deduplicate -s fewer --fail"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
},
|
||||
"description": "Jupyter Templates for IPyDrawio",
|
||||
"devDependencies": {
|
||||
"@jupyterlab/builder": "^3.1.0",
|
||||
"@jupyterlab/builder": "^3.4.0",
|
||||
"typescript": "~4.2.3"
|
||||
},
|
||||
"peerDependencies": {},
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
"@deathbeds/ipydrawio": "^1.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jupyterlab/builder": "^3.1.0",
|
||||
"@jupyterlab/builder": "^3.4.0",
|
||||
"typescript": "~4.2.3"
|
||||
},
|
||||
"files": [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"@jupyterlab/application": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jupyterlab/builder": "^3.1.0",
|
||||
"@jupyterlab/builder": "^3.4.0",
|
||||
"typescript": "~4.2.3",
|
||||
"@deathbeds/ipydrawio": "^1.2.1"
|
||||
},
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit bdfb2a3944aaef1a9f95097a6c30d98fbefce1c4
|
||||
Subproject commit becda6ba8ae0b58f8e2bce285a3fd6980bc9f52d
|
|
@ -1755,6 +1755,7 @@ import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/embed.dev.js';
|
|||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/export-init.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/export.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/extensions.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/freehand/perfect-freehand.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Actions.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Dialogs.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Editor.js';
|
||||
|
@ -1766,6 +1767,7 @@ import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Me
|
|||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Shapes.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Sidebar.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/grapheditor/Toolbar.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/integrate.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/jquery/jquery-3.3.1.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/jscolor/jscolor.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/jszip/jszip.min.js';
|
||||
|
@ -1782,11 +1784,10 @@ import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/orgchart/mxOrg
|
|||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/orgchart.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/rough/rough.js.modified';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/rough/rough.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/sanitizer/sanitizer.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/sanitizer/purify.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/shapes-14-6-5.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/shapes.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/socket.io/simplepeer9.10.0.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/socket.io/socket.io.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/simplepeer/simplepeer9.10.0.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/spin/spin.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/stencils.min.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/js/viewer-static.min.js';
|
||||
|
@ -2156,8 +2157,6 @@ import '!!file-loader?name=[path][name].[ext]&context=.!../dio/newDiagramCats/in
|
|||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/open.html';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/animation.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/anonymize.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/cConf-1-4-8.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/cConf-comments.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/edgeConnection.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/explore.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/plugins/flow.js';
|
||||
|
@ -2536,6 +2535,7 @@ import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/busines
|
|||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/pert_1.xml';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/pert_2.png';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/pert_2.xml';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/swimlane.png';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/swimlane.xml';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/timeline_1.png';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/business/timeline_1.xml';
|
||||
|
@ -2805,10 +2805,14 @@ import '!!file-loader?name=[path][name].[ext]&context=.!../dio/templates/wirefra
|
|||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/vsdxImporter.html';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-12cca165.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-12cca165.js.map';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-5490a1bd.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-5490a1bd.js.map';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-9fe249eb.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-9fe249eb.js.map';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-bed83ea8.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-bed83ea8.js.map';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-d4d5b410.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-d4d5b410.js.map';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-dfbb910f.js';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-dfbb910f.js.map';
|
||||
import '!!file-loader?name=[path][name].[ext]&context=.!../dio/workbox-f163abaa.js';
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"@jupyterlab/application": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jupyterlab/builder": "^3.1.0",
|
||||
"@jupyterlab/builder": "^3.4.0",
|
||||
"typescript": "~4.2.3"
|
||||
},
|
||||
"description": "A webpack-ready repackaging of drawio",
|
||||
|
@ -43,5 +43,5 @@
|
|||
"build:pre": "python scripts/patch.py && python scripts/static.py"
|
||||
},
|
||||
"types": "lib/index.d.ts",
|
||||
"version": "16.4.501"
|
||||
"version": "18.0.100"
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@ PATCHES = {
|
|||
},
|
||||
{
|
||||
"name": "patch cors check for data URI",
|
||||
"before": "this.editor.isCorsEnabledForUrl(n)||(n=",
|
||||
"after": "(n.match(/^data:/) || this.editor.isCorsEnabledForUrl(n))||(n=",
|
||||
"before": "this.editor.isCorsEnabledForUrl(n)||(k=",
|
||||
"after": "(n.match(/^data:/) || this.editor.isCorsEnabledForUrl(n))||(k=",
|
||||
},
|
||||
]
|
||||
}
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
"@jupyterlab/application": "^3.1.0",
|
||||
"@jupyterlab/launcher": "^3.1.0",
|
||||
"@jupyterlab/mainmenu": "^3.1.0",
|
||||
"@deathbeds/ipydrawio-webpack": "^16.4.501"
|
||||
"@deathbeds/ipydrawio-webpack": "^18.0.100"
|
||||
},
|
||||
"description": "A JupyterLab extension for embedding interactive drawio / mxgraph diagrams.",
|
||||
"devDependencies": {
|
||||
"@jupyterlab/builder": "^3.1.0",
|
||||
"@jupyterlab/builder": "^3.4.0",
|
||||
"typescript": "~4.2.3",
|
||||
"@jupyter-widgets/base": "^4.0.0",
|
||||
"@jupyter-widgets/controls": "^3.0.0",
|
||||
|
|
Ładowanie…
Reference in New Issue