Upgrade to drawio 18.0.2, etc. (#94)

pull/95/head
Nicholas Bollweg 2022-05-09 08:44:30 -05:00 zatwierdzone przez GitHub
rodzic 5477a5d50f
commit c2e12eed88
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
42 zmienionych plików z 2834 dodań i 2526 usunięć

Wyświetl plik

@ -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

25
.github/environment-py37.yml vendored 100644
Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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:

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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}

Wyświetl plik

@ -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}

Wyświetl plik

@ -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}

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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}

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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}

Wyświetl plik

@ -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}

Wyświetl plik

@ -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

Wyświetl plik

@ -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}"]

Wyświetl plik

@ -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

Wyświetl plik

@ -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?

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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",

Wyświetl plik

@ -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

Wyświetl plik

@ -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],
],
)

Wyświetl plik

@ -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/*"

Wyświetl plik

@ -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": {},

Wyświetl plik

@ -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": [

Wyświetl plik

@ -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

Wyświetl plik

@ -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';

Wyświetl plik

@ -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"
}

Wyświetl plik

@ -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=",
},
]
}

Wyświetl plik

@ -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",

4598
yarn.lock

Plik diff jest za duży Load Diff