From 83eec43b185d50d8a77b0e29d926bfdfdd693d23 Mon Sep 17 00:00:00 2001 From: aiongg Date: Mon, 26 Oct 2026 18:26:56 +0000 Subject: [PATCH] refactor(engine): move tests_*.rs to tests/.rs --- crates/engine/src/lib.rs | 338 +----------------- crates/engine/src/tests.rs | 169 +++++++++ .../src/{tests_adjust.rs => tests/adjust.rs} | 2 +- .../appearance.rs} | 4 +- .../{tests_areafit.rs => tests/areafit.rs} | 2 +- .../src/{tests_assets.rs => tests/assets.rs} | 2 +- .../attributes.rs} | 2 +- .../bboxrotate.rs} | 2 +- .../blendfidelity.rs} | 2 +- .../blendopts.rs} | 2 +- .../blendspine.rs} | 2 +- .../{tests_brushlib.rs => tests/brushlib.rs} | 2 +- .../{tests_brushsym.rs => tests/brushsym.rs} | 4 +- .../src/{tests_build.rs => tests/build.rs} | 6 +- .../src/{tests_cancel.rs => tests/cancel.rs} | 0 .../charstroke.rs} | 2 +- .../src/{tests_clip.rs => tests/clip.rs} | 2 +- .../clipboard.rs} | 2 +- .../clipflavours.rs} | 2 +- .../clippaint.rs} | 2 +- .../{tests_cmdsplit.rs => tests/cmdsplit.rs} | 2 +- .../cmykflatten.rs} | 2 +- .../colorguide.rs} | 2 +- .../colorguidelib.rs} | 2 +- .../colormgmt.rs} | 2 +- .../colorthemes.rs} | 2 +- .../colourfonts.rs} | 2 +- .../compoundpaint.rs} | 2 +- .../constrain_new.rs} | 2 +- .../constrain_tools.rs} | 2 +- .../containers.rs} | 2 +- .../engine/src/{tests_css.rs => tests/css.rs} | 2 +- .../engine/src/{tests_cut.rs => tests/cut.rs} | 2 +- .../dashalign.rs} | 4 +- .../{tests_distort.rs => tests/distort.rs} | 2 +- .../{tests_docsetup.rs => tests/docsetup.rs} | 2 +- .../src/{tests_draw2.rs => tests/draw2.rs} | 6 +- .../editcolors.rs} | 2 +- .../effectedit.rs} | 2 +- .../emptytype.rs} | 2 +- .../{tests_envelope.rs => tests/envelope.rs} | 2 +- .../envelope_distort.rs} | 2 +- .../envelope_edit.rs} | 2 +- .../src/{tests_expand.rs => tests/expand.rs} | 4 +- .../eyedropper.rs} | 2 +- .../src/{tests_file.rs => tests/file.rs} | 2 +- .../{tests_fileinfo.rs => tests/fileinfo.rs} | 2 +- .../flatpresets.rs} | 2 +- .../flatpreview.rs} | 2 +- .../{tests_flatten.rs => tests/flatten.rs} | 6 +- .../src/{tests_focal.rs => tests/focal.rs} | 2 +- .../fontfiles.rs} | 0 .../{tests_fontlist.rs => tests/fontlist.rs} | 2 +- .../{tests_freeform.rs => tests/freeform.rs} | 4 +- .../globaledit.rs} | 2 +- .../{tests_gradient.rs => tests/gradient.rs} | 4 +- .../gradpanel.rs} | 2 +- .../{tests_gradspan.rs => tests/gradspan.rs} | 2 +- .../{tests_halftone.rs => tests/halftone.rs} | 2 +- .../history_mem.rs} | 2 +- .../ids_without_selection.rs} | 2 +- .../src/{tests_inline.rs => tests/inline.rs} | 2 +- .../interactivity.rs} | 2 +- .../intertwine.rs} | 4 +- .../{tests_journal.rs => tests/journal.rs} | 2 +- .../{tests_keyguide.rs => tests/keyguide.rs} | 2 +- .../{tests_knockout.rs => tests/knockout.rs} | 2 +- .../{tests_labspots.rs => tests/labspots.rs} | 4 +- .../large_edits.rs} | 2 +- .../layerclip.rs} | 4 +- .../src/{tests_layers.rs => tests/layers.rs} | 2 +- .../legacy_ai.rs} | 4 +- .../{tests_library.rs => tests/library.rs} | 2 +- .../link_paths.rs} | 2 +- .../linked_stops.rs} | 2 +- .../linkfiles.rs} | 0 .../src/{tests_links.rs => tests/links.rs} | 2 +- .../linkspanel.rs} | 4 +- .../linkwatch.rs} | 2 +- .../{tests_liquify.rs => tests/liquify.rs} | 2 +- .../src/{tests_live.rs => tests/live.rs} | 2 +- .../livecorners.rs} | 2 +- .../{tests_maskview.rs => tests/maskview.rs} | 2 +- .../{tests_menucmds.rs => tests/menucmds.rs} | 8 +- .../nativefile.rs} | 2 +- .../src/{tests_newart.rs => tests/newart.rs} | 2 +- .../src/{tests_newdoc.rs => tests/newdoc.rs} | 2 +- .../objects_on_path.rs} | 4 +- .../objexpand.rs} | 2 +- .../opacitymask.rs} | 2 +- .../outlineobject.rs} | 2 +- .../outlinestroke.rs} | 2 +- .../overprint.rs} | 2 +- .../{tests_package.rs => tests/package.rs} | 4 +- .../paintproxy.rs} | 2 +- .../panelcmds.rs} | 4 +- .../paragraphs.rs} | 2 +- .../src/{tests_params.rs => tests/params.rs} | 0 .../{tests_pathops.rs => tests/pathops.rs} | 2 +- .../{tests_pathtype.rs => tests/pathtype.rs} | 2 +- .../{tests_pattern.rs => tests/pattern.rs} | 16 +- .../pdffidelity.rs} | 2 +- .../{tests_pdfmarks.rs => tests/pdfmarks.rs} | 2 +- .../pdfpresets.rs} | 0 .../pdfraster.rs} | 2 +- .../persp_planes.rs} | 4 +- .../persp_select.rs} | 2 +- .../persp_text.rs} | 4 +- .../perspgrid.rs} | 2 +- .../src/{tests_place.rs => tests/place.rs} | 4 +- .../placed_document.rs} | 6 +- .../{tests_plugins.rs => tests/plugins.rs} | 4 +- .../src/{tests_prefs.rs => tests/prefs.rs} | 2 +- .../previewbounds.rs} | 2 +- .../src/{tests_print.rs => tests/print.rs} | 2 +- .../printadvanced.rs} | 14 +- .../printpresets.rs} | 2 +- .../printpreview.rs} | 2 +- .../{tests_printps.rs => tests/printps.rs} | 2 +- .../printtiling.rs} | 2 +- .../proxyitems.rs} | 2 +- .../puppetwarp.rs} | 2 +- .../rasterfilters.rs} | 2 +- .../rastersettings.rs} | 2 +- .../{tests_recolor.rs => tests/recolor.rs} | 2 +- .../{tests_recovery.rs => tests/recovery.rs} | 2 +- .../reflecthit.rs} | 2 +- .../registration.rs} | 2 +- .../src/{tests_save.rs => tests/save.rs} | 2 +- .../saveoptions.rs} | 2 +- .../scalestrokes.rs} | 2 +- .../{tests_scripts.rs => tests/scripts.rs} | 2 +- .../select_ids_first.rs} | 2 +- .../src/{tests_shaper.rs => tests/shaper.rs} | 2 +- .../shortcutset.rs} | 2 +- .../simplify_part.rs} | 2 +- .../src/{tests_slices.rs => tests/slices.rs} | 2 +- .../smartguides.rs} | 2 +- .../src/{tests_store.rs => tests/store.rs} | 0 .../strokegeom.rs} | 2 +- .../strokegradient.rs} | 2 +- .../strokereach.rs} | 2 +- .../{tests_strokeux.rs => tests/strokeux.rs} | 2 +- .../{tests_stylelib.rs => tests/stylelib.rs} | 2 +- .../stylepanel.rs} | 2 +- .../src/{tests_styles.rs => tests/styles.rs} | 2 +- .../swatchcmds.rs} | 4 +- .../{tests_swatches.rs => tests/swatches.rs} | 2 +- .../swatchlib.rs} | 2 +- .../symbolbounds.rs} | 2 +- .../symbollib.rs} | 2 +- .../targeting.rs} | 2 +- .../textcombos.rs} | 2 +- .../{tests_textedit.rs => tests/textedit.rs} | 4 +- .../textimport.rs} | 2 +- .../{tests_tileedge.rs => tests/tileedge.rs} | 2 +- .../src/{tests_tints.rs => tests/tints.rs} | 2 +- .../toolsettings.rs} | 2 +- .../transformfx.rs} | 2 +- .../transparencygrid.rs} | 2 +- .../src/{tests_trap.rs => tests/trap.rs} | 2 +- .../{tests_typearea.rs => tests/typearea.rs} | 2 +- .../typescale.rs} | 2 +- .../src/{tests_units.rs => tests/units.rs} | 2 +- .../variables.rs} | 4 +- .../webexport.rs} | 2 +- .../widthpoints.rs} | 2 +- .../widthprofiles.rs} | 2 +- .../widthtool.rs} | 2 +- .../src/{tests_xform.rs => tests/xform.rs} | 8 +- 170 files changed, 381 insertions(+), 546 deletions(-) rename crates/engine/src/{tests_adjust.rs => tests/adjust.rs} (99%) rename crates/engine/src/{tests_appearance.rs => tests/appearance.rs} (99%) rename crates/engine/src/{tests_areafit.rs => tests/areafit.rs} (99%) rename crates/engine/src/{tests_assets.rs => tests/assets.rs} (99%) rename crates/engine/src/{tests_attributes.rs => tests/attributes.rs} (99%) rename crates/engine/src/{tests_bboxrotate.rs => tests/bboxrotate.rs} (99%) rename crates/engine/src/{tests_blendfidelity.rs => tests/blendfidelity.rs} (99%) rename crates/engine/src/{tests_blendopts.rs => tests/blendopts.rs} (99%) rename crates/engine/src/{tests_blendspine.rs => tests/blendspine.rs} (99%) rename crates/engine/src/{tests_brushlib.rs => tests/brushlib.rs} (99%) rename crates/engine/src/{tests_brushsym.rs => tests/brushsym.rs} (99%) rename crates/engine/src/{tests_build.rs => tests/build.rs} (99%) rename crates/engine/src/{tests_cancel.rs => tests/cancel.rs} (100%) rename crates/engine/src/{tests_charstroke.rs => tests/charstroke.rs} (99%) rename crates/engine/src/{tests_clip.rs => tests/clip.rs} (99%) rename crates/engine/src/{tests_clipboard.rs => tests/clipboard.rs} (99%) rename crates/engine/src/{tests_clipflavours.rs => tests/clipflavours.rs} (99%) rename crates/engine/src/{tests_clippaint.rs => tests/clippaint.rs} (99%) rename crates/engine/src/{tests_cmdsplit.rs => tests/cmdsplit.rs} (99%) rename crates/engine/src/{tests_cmykflatten.rs => tests/cmykflatten.rs} (99%) rename crates/engine/src/{tests_colorguide.rs => tests/colorguide.rs} (99%) rename crates/engine/src/{tests_colorguidelib.rs => tests/colorguidelib.rs} (99%) rename crates/engine/src/{tests_colormgmt.rs => tests/colormgmt.rs} (99%) rename crates/engine/src/{tests_colorthemes.rs => tests/colorthemes.rs} (99%) rename crates/engine/src/{tests_colourfonts.rs => tests/colourfonts.rs} (99%) rename crates/engine/src/{tests_compoundpaint.rs => tests/compoundpaint.rs} (99%) rename crates/engine/src/{tests_constrain_new.rs => tests/constrain_new.rs} (99%) rename crates/engine/src/{tests_constrain_tools.rs => tests/constrain_tools.rs} (99%) rename crates/engine/src/{tests_containers.rs => tests/containers.rs} (99%) rename crates/engine/src/{tests_css.rs => tests/css.rs} (99%) rename crates/engine/src/{tests_cut.rs => tests/cut.rs} (99%) rename crates/engine/src/{tests_dashalign.rs => tests/dashalign.rs} (98%) rename crates/engine/src/{tests_distort.rs => tests/distort.rs} (99%) rename crates/engine/src/{tests_docsetup.rs => tests/docsetup.rs} (99%) rename crates/engine/src/{tests_draw2.rs => tests/draw2.rs} (99%) rename crates/engine/src/{tests_editcolors.rs => tests/editcolors.rs} (99%) rename crates/engine/src/{tests_effectedit.rs => tests/effectedit.rs} (99%) rename crates/engine/src/{tests_emptytype.rs => tests/emptytype.rs} (99%) rename crates/engine/src/{tests_envelope.rs => tests/envelope.rs} (99%) rename crates/engine/src/{tests_envelope_distort.rs => tests/envelope_distort.rs} (99%) rename crates/engine/src/{tests_envelope_edit.rs => tests/envelope_edit.rs} (99%) rename crates/engine/src/{tests_expand.rs => tests/expand.rs} (99%) rename crates/engine/src/{tests_eyedropper.rs => tests/eyedropper.rs} (99%) rename crates/engine/src/{tests_file.rs => tests/file.rs} (99%) rename crates/engine/src/{tests_fileinfo.rs => tests/fileinfo.rs} (99%) rename crates/engine/src/{tests_flatpresets.rs => tests/flatpresets.rs} (99%) rename crates/engine/src/{tests_flatpreview.rs => tests/flatpreview.rs} (99%) rename crates/engine/src/{tests_flatten.rs => tests/flatten.rs} (99%) rename crates/engine/src/{tests_focal.rs => tests/focal.rs} (99%) rename crates/engine/src/{tests_fontfiles.rs => tests/fontfiles.rs} (100%) rename crates/engine/src/{tests_fontlist.rs => tests/fontlist.rs} (99%) rename crates/engine/src/{tests_freeform.rs => tests/freeform.rs} (99%) rename crates/engine/src/{tests_globaledit.rs => tests/globaledit.rs} (99%) rename crates/engine/src/{tests_gradient.rs => tests/gradient.rs} (99%) rename crates/engine/src/{tests_gradpanel.rs => tests/gradpanel.rs} (99%) rename crates/engine/src/{tests_gradspan.rs => tests/gradspan.rs} (99%) rename crates/engine/src/{tests_halftone.rs => tests/halftone.rs} (99%) rename crates/engine/src/{tests_history_mem.rs => tests/history_mem.rs} (99%) rename crates/engine/src/{tests_ids_without_selection.rs => tests/ids_without_selection.rs} (99%) rename crates/engine/src/{tests_inline.rs => tests/inline.rs} (99%) rename crates/engine/src/{tests_interactivity.rs => tests/interactivity.rs} (99%) rename crates/engine/src/{tests_intertwine.rs => tests/intertwine.rs} (99%) rename crates/engine/src/{tests_journal.rs => tests/journal.rs} (99%) rename crates/engine/src/{tests_keyguide.rs => tests/keyguide.rs} (99%) rename crates/engine/src/{tests_knockout.rs => tests/knockout.rs} (99%) rename crates/engine/src/{tests_labspots.rs => tests/labspots.rs} (99%) rename crates/engine/src/{tests_large_edits.rs => tests/large_edits.rs} (99%) rename crates/engine/src/{tests_layerclip.rs => tests/layerclip.rs} (98%) rename crates/engine/src/{tests_layers.rs => tests/layers.rs} (99%) rename crates/engine/src/{tests_legacy_ai.rs => tests/legacy_ai.rs} (99%) rename crates/engine/src/{tests_library.rs => tests/library.rs} (99%) rename crates/engine/src/{tests_link_paths.rs => tests/link_paths.rs} (99%) rename crates/engine/src/{tests_linked_stops.rs => tests/linked_stops.rs} (99%) rename crates/engine/src/{tests_linkfiles.rs => tests/linkfiles.rs} (100%) rename crates/engine/src/{tests_links.rs => tests/links.rs} (99%) rename crates/engine/src/{tests_linkspanel.rs => tests/linkspanel.rs} (99%) rename crates/engine/src/{tests_linkwatch.rs => tests/linkwatch.rs} (99%) rename crates/engine/src/{tests_liquify.rs => tests/liquify.rs} (99%) rename crates/engine/src/{tests_live.rs => tests/live.rs} (99%) rename crates/engine/src/{tests_livecorners.rs => tests/livecorners.rs} (99%) rename crates/engine/src/{tests_maskview.rs => tests/maskview.rs} (99%) rename crates/engine/src/{tests_menucmds.rs => tests/menucmds.rs} (99%) rename crates/engine/src/{tests_nativefile.rs => tests/nativefile.rs} (99%) rename crates/engine/src/{tests_newart.rs => tests/newart.rs} (99%) rename crates/engine/src/{tests_newdoc.rs => tests/newdoc.rs} (99%) rename crates/engine/src/{tests_objects_on_path.rs => tests/objects_on_path.rs} (99%) rename crates/engine/src/{tests_objexpand.rs => tests/objexpand.rs} (99%) rename crates/engine/src/{tests_opacitymask.rs => tests/opacitymask.rs} (99%) rename crates/engine/src/{tests_outlineobject.rs => tests/outlineobject.rs} (99%) rename crates/engine/src/{tests_outlinestroke.rs => tests/outlinestroke.rs} (99%) rename crates/engine/src/{tests_overprint.rs => tests/overprint.rs} (99%) rename crates/engine/src/{tests_package.rs => tests/package.rs} (99%) rename crates/engine/src/{tests_paintproxy.rs => tests/paintproxy.rs} (99%) rename crates/engine/src/{tests_panelcmds.rs => tests/panelcmds.rs} (99%) rename crates/engine/src/{tests_paragraphs.rs => tests/paragraphs.rs} (99%) rename crates/engine/src/{tests_params.rs => tests/params.rs} (100%) rename crates/engine/src/{tests_pathops.rs => tests/pathops.rs} (99%) rename crates/engine/src/{tests_pathtype.rs => tests/pathtype.rs} (99%) rename crates/engine/src/{tests_pattern.rs => tests/pattern.rs} (99%) rename crates/engine/src/{tests_pdffidelity.rs => tests/pdffidelity.rs} (99%) rename crates/engine/src/{tests_pdfmarks.rs => tests/pdfmarks.rs} (99%) rename crates/engine/src/{tests_pdfpresets.rs => tests/pdfpresets.rs} (100%) rename crates/engine/src/{tests_pdfraster.rs => tests/pdfraster.rs} (99%) rename crates/engine/src/{tests_persp_planes.rs => tests/persp_planes.rs} (99%) rename crates/engine/src/{tests_persp_select.rs => tests/persp_select.rs} (99%) rename crates/engine/src/{tests_persp_text.rs => tests/persp_text.rs} (99%) rename crates/engine/src/{tests_perspgrid.rs => tests/perspgrid.rs} (99%) rename crates/engine/src/{tests_place.rs => tests/place.rs} (99%) rename crates/engine/src/{tests_placed_document.rs => tests/placed_document.rs} (99%) rename crates/engine/src/{tests_plugins.rs => tests/plugins.rs} (99%) rename crates/engine/src/{tests_prefs.rs => tests/prefs.rs} (99%) rename crates/engine/src/{tests_previewbounds.rs => tests/previewbounds.rs} (99%) rename crates/engine/src/{tests_print.rs => tests/print.rs} (99%) rename crates/engine/src/{tests_printadvanced.rs => tests/printadvanced.rs} (95%) rename crates/engine/src/{tests_printpresets.rs => tests/printpresets.rs} (99%) rename crates/engine/src/{tests_printpreview.rs => tests/printpreview.rs} (99%) rename crates/engine/src/{tests_printps.rs => tests/printps.rs} (99%) rename crates/engine/src/{tests_printtiling.rs => tests/printtiling.rs} (99%) rename crates/engine/src/{tests_proxyitems.rs => tests/proxyitems.rs} (99%) rename crates/engine/src/{tests_puppetwarp.rs => tests/puppetwarp.rs} (99%) rename crates/engine/src/{tests_rasterfilters.rs => tests/rasterfilters.rs} (99%) rename crates/engine/src/{tests_rastersettings.rs => tests/rastersettings.rs} (99%) rename crates/engine/src/{tests_recolor.rs => tests/recolor.rs} (99%) rename crates/engine/src/{tests_recovery.rs => tests/recovery.rs} (99%) rename crates/engine/src/{tests_reflecthit.rs => tests/reflecthit.rs} (99%) rename crates/engine/src/{tests_registration.rs => tests/registration.rs} (99%) rename crates/engine/src/{tests_save.rs => tests/save.rs} (99%) rename crates/engine/src/{tests_saveoptions.rs => tests/saveoptions.rs} (99%) rename crates/engine/src/{tests_scalestrokes.rs => tests/scalestrokes.rs} (99%) rename crates/engine/src/{tests_scripts.rs => tests/scripts.rs} (99%) rename crates/engine/src/{tests_select_ids_first.rs => tests/select_ids_first.rs} (99%) rename crates/engine/src/{tests_shaper.rs => tests/shaper.rs} (99%) rename crates/engine/src/{tests_shortcutset.rs => tests/shortcutset.rs} (99%) rename crates/engine/src/{tests_simplify_part.rs => tests/simplify_part.rs} (99%) rename crates/engine/src/{tests_slices.rs => tests/slices.rs} (99%) rename crates/engine/src/{tests_smartguides.rs => tests/smartguides.rs} (99%) rename crates/engine/src/{tests_store.rs => tests/store.rs} (100%) rename crates/engine/src/{tests_strokegeom.rs => tests/strokegeom.rs} (99%) rename crates/engine/src/{tests_strokegradient.rs => tests/strokegradient.rs} (99%) rename crates/engine/src/{tests_strokereach.rs => tests/strokereach.rs} (99%) rename crates/engine/src/{tests_strokeux.rs => tests/strokeux.rs} (99%) rename crates/engine/src/{tests_stylelib.rs => tests/stylelib.rs} (99%) rename crates/engine/src/{tests_stylepanel.rs => tests/stylepanel.rs} (99%) rename crates/engine/src/{tests_styles.rs => tests/styles.rs} (99%) rename crates/engine/src/{tests_swatchcmds.rs => tests/swatchcmds.rs} (99%) rename crates/engine/src/{tests_swatches.rs => tests/swatches.rs} (99%) rename crates/engine/src/{tests_swatchlib.rs => tests/swatchlib.rs} (99%) rename crates/engine/src/{tests_symbolbounds.rs => tests/symbolbounds.rs} (99%) rename crates/engine/src/{tests_symbollib.rs => tests/symbollib.rs} (99%) rename crates/engine/src/{tests_targeting.rs => tests/targeting.rs} (99%) rename crates/engine/src/{tests_textcombos.rs => tests/textcombos.rs} (99%) rename crates/engine/src/{tests_textedit.rs => tests/textedit.rs} (99%) rename crates/engine/src/{tests_textimport.rs => tests/textimport.rs} (99%) rename crates/engine/src/{tests_tileedge.rs => tests/tileedge.rs} (99%) rename crates/engine/src/{tests_tints.rs => tests/tints.rs} (99%) rename crates/engine/src/{tests_toolsettings.rs => tests/toolsettings.rs} (99%) rename crates/engine/src/{tests_transformfx.rs => tests/transformfx.rs} (99%) rename crates/engine/src/{tests_transparencygrid.rs => tests/transparencygrid.rs} (98%) rename crates/engine/src/{tests_trap.rs => tests/trap.rs} (99%) rename crates/engine/src/{tests_typearea.rs => tests/typearea.rs} (99%) rename crates/engine/src/{tests_typescale.rs => tests/typescale.rs} (99%) rename crates/engine/src/{tests_units.rs => tests/units.rs} (99%) rename crates/engine/src/{tests_variables.rs => tests/variables.rs} (99%) rename crates/engine/src/{tests_webexport.rs => tests/webexport.rs} (99%) rename crates/engine/src/{tests_widthpoints.rs => tests/widthpoints.rs} (99%) rename crates/engine/src/{tests_widthprofiles.rs => tests/widthprofiles.rs} (99%) rename crates/engine/src/{tests_widthtool.rs => tests/widthtool.rs} (99%) rename crates/engine/src/{tests_xform.rs => tests/xform.rs} (99%) diff --git a/crates/engine/src/lib.rs b/crates/engine/src/lib.rs index ef447b01e..5707e8913 100644 --- a/crates/engine/src/lib.rs +++ b/crates/engine/src/lib.rs @@ -2596,344 +2596,10 @@ pub(crate) fn adding_fonts() -> std::sync::MutexGuard<'static, ()> { FONTS.lock().unwrap_or_else(std::sync::PoisonError::into_inner) } +#[cfg(test)] +use tests::{adjust as tests_adjust, clip as tests_clip, colormgmt as tests_colormgmt, expand as tests_expand, large_edits as tests_large_edits, links as tests_links, linkspanel as tests_linkspanel, menucmds as tests_menucmds, outlinestroke as tests_outlinestroke, persp_select as tests_persp_select, textimport as tests_textimport}; #[cfg(test)] mod tests; -#[cfg(test)] -mod tests_adjust; -#[cfg(test)] -mod tests_appearance; -#[cfg(test)] -mod tests_areafit; -#[cfg(test)] -mod tests_assets; -#[cfg(test)] -mod tests_attributes; -#[cfg(test)] -mod tests_bboxrotate; -#[cfg(test)] -mod tests_blendfidelity; -#[cfg(test)] -mod tests_blendopts; -#[cfg(test)] -mod tests_blendspine; -#[cfg(test)] -mod tests_brushlib; -#[cfg(test)] -mod tests_brushsym; -#[cfg(test)] -mod tests_build; -#[cfg(test)] -mod tests_cancel; -#[cfg(test)] -mod tests_charstroke; -#[cfg(test)] -mod tests_clip; -#[cfg(test)] -mod tests_clipboard; -#[cfg(test)] -mod tests_clipflavours; -#[cfg(test)] -mod tests_clippaint; -#[cfg(test)] -mod tests_cmdsplit; -#[cfg(test)] -mod tests_cmykflatten; -#[cfg(test)] -mod tests_colorguide; -#[cfg(test)] -mod tests_colorguidelib; -#[cfg(test)] -mod tests_colormgmt; -#[cfg(test)] -mod tests_colorthemes; -#[cfg(test)] -mod tests_colourfonts; -#[cfg(test)] -mod tests_compoundpaint; -#[cfg(test)] -mod tests_constrain_new; -#[cfg(test)] -mod tests_constrain_tools; -#[cfg(test)] -mod tests_containers; -#[cfg(test)] -mod tests_css; -#[cfg(test)] -mod tests_cut; -#[cfg(test)] -mod tests_dashalign; -#[cfg(test)] -mod tests_distort; -#[cfg(test)] -mod tests_docsetup; -#[cfg(test)] -mod tests_draw2; -#[cfg(test)] -mod tests_editcolors; -#[cfg(test)] -mod tests_effectedit; -#[cfg(test)] -mod tests_emptytype; -#[cfg(test)] -mod tests_envelope; -#[cfg(test)] -mod tests_envelope_distort; -#[cfg(test)] -mod tests_envelope_edit; -#[cfg(test)] -mod tests_expand; -#[cfg(test)] -mod tests_eyedropper; -#[cfg(test)] -mod tests_file; -#[cfg(test)] -mod tests_fileinfo; -#[cfg(test)] -mod tests_flatpresets; -#[cfg(test)] -mod tests_flatpreview; -#[cfg(test)] -mod tests_flatten; -#[cfg(test)] -mod tests_focal; -#[cfg(test)] -mod tests_fontfiles; -#[cfg(test)] -mod tests_fontlist; -#[cfg(test)] -mod tests_freeform; -#[cfg(test)] -mod tests_globaledit; -#[cfg(test)] -mod tests_gradient; -#[cfg(test)] -mod tests_gradpanel; -#[cfg(test)] -mod tests_gradspan; -#[cfg(test)] -mod tests_halftone; -#[cfg(test)] -mod tests_history_mem; -#[cfg(test)] -mod tests_ids_without_selection; -#[cfg(test)] -mod tests_inline; -#[cfg(test)] -mod tests_interactivity; -#[cfg(test)] -mod tests_intertwine; -#[cfg(test)] -mod tests_journal; -#[cfg(test)] -mod tests_keyguide; -#[cfg(test)] -mod tests_knockout; -#[cfg(test)] -mod tests_labspots; -#[cfg(test)] -mod tests_large_edits; -#[cfg(test)] -mod tests_layerclip; -#[cfg(test)] -mod tests_layers; -#[cfg(test)] -mod tests_legacy_ai; -#[cfg(test)] -mod tests_library; -#[cfg(test)] -mod tests_link_paths; -#[cfg(test)] -mod tests_linked_stops; -#[cfg(test)] -mod tests_linkfiles; -#[cfg(test)] -mod tests_links; -#[cfg(test)] -mod tests_linkspanel; -#[cfg(test)] -mod tests_linkwatch; -#[cfg(test)] -mod tests_liquify; -#[cfg(test)] -mod tests_live; -#[cfg(test)] -mod tests_livecorners; -#[cfg(test)] -mod tests_maskview; -#[cfg(test)] -mod tests_menucmds; -#[cfg(test)] -mod tests_nativefile; -#[cfg(test)] -mod tests_newart; -#[cfg(test)] -mod tests_newdoc; -#[cfg(test)] -mod tests_objects_on_path; -#[cfg(test)] -mod tests_objexpand; -#[cfg(test)] -mod tests_opacitymask; -#[cfg(test)] -mod tests_outlineobject; -#[cfg(test)] -mod tests_outlinestroke; -#[cfg(test)] -mod tests_overprint; -#[cfg(test)] -mod tests_package; -#[cfg(test)] -mod tests_paintproxy; -#[cfg(test)] -mod tests_panelcmds; -#[cfg(test)] -mod tests_paragraphs; -#[cfg(test)] -mod tests_params; -#[cfg(test)] -mod tests_pathops; -#[cfg(test)] -mod tests_pathtype; -#[cfg(test)] -mod tests_pattern; -#[cfg(test)] -mod tests_pdffidelity; -#[cfg(test)] -mod tests_pdfmarks; -#[cfg(test)] -mod tests_pdfpresets; -#[cfg(test)] -mod tests_pdfraster; -#[cfg(test)] -mod tests_persp_planes; -#[cfg(test)] -mod tests_persp_select; -#[cfg(test)] -mod tests_persp_text; -#[cfg(test)] -mod tests_perspgrid; -#[cfg(test)] -mod tests_place; -#[cfg(test)] -mod tests_placed_document; -#[cfg(test)] -mod tests_plugins; -#[cfg(test)] -mod tests_prefs; -#[cfg(test)] -mod tests_previewbounds; -#[cfg(test)] -mod tests_print; -#[cfg(test)] -mod tests_printadvanced; -#[cfg(test)] -mod tests_printpresets; -#[cfg(test)] -mod tests_printpreview; -#[cfg(test)] -mod tests_printps; -#[cfg(test)] -mod tests_printtiling; -#[cfg(test)] -mod tests_proxyitems; -#[cfg(test)] -mod tests_puppetwarp; -#[cfg(test)] -mod tests_rasterfilters; -#[cfg(test)] -mod tests_rastersettings; -#[cfg(test)] -mod tests_recolor; -#[cfg(test)] -mod tests_recovery; -#[cfg(test)] -mod tests_reflecthit; -#[cfg(test)] -mod tests_registration; -#[cfg(test)] -mod tests_save; -#[cfg(test)] -mod tests_saveoptions; -#[cfg(test)] -mod tests_scalestrokes; -#[cfg(test)] -mod tests_scripts; -#[cfg(test)] -mod tests_select_ids_first; -#[cfg(test)] -mod tests_shaper; -#[cfg(test)] -mod tests_shortcutset; -#[cfg(test)] -mod tests_simplify_part; -#[cfg(test)] -mod tests_slices; -#[cfg(test)] -mod tests_smartguides; -#[cfg(test)] -mod tests_store; -#[cfg(test)] -mod tests_strokegeom; -#[cfg(test)] -mod tests_strokegradient; -#[cfg(test)] -mod tests_strokereach; -#[cfg(test)] -mod tests_strokeux; -#[cfg(test)] -mod tests_stylelib; -#[cfg(test)] -mod tests_stylepanel; -#[cfg(test)] -mod tests_styles; -#[cfg(test)] -mod tests_swatchcmds; -#[cfg(test)] -mod tests_swatches; -#[cfg(test)] -mod tests_swatchlib; -#[cfg(test)] -mod tests_symbolbounds; -#[cfg(test)] -mod tests_symbollib; -#[cfg(test)] -mod tests_targeting; -#[cfg(test)] -mod tests_textcombos; -#[cfg(test)] -mod tests_textedit; -#[cfg(test)] -mod tests_textimport; -#[cfg(test)] -mod tests_tileedge; -#[cfg(test)] -mod tests_tints; -#[cfg(test)] -mod tests_toolsettings; -#[cfg(test)] -mod tests_transformfx; -#[cfg(test)] -mod tests_transparencygrid; -#[cfg(test)] -mod tests_trap; -#[cfg(test)] -mod tests_typearea; -#[cfg(test)] -mod tests_typescale; -#[cfg(test)] -mod tests_units; -#[cfg(test)] -mod tests_variables; -#[cfg(test)] -mod tests_webexport; -#[cfg(test)] -mod tests_widthpoints; -#[cfg(test)] -mod tests_widthprofiles; -#[cfg(test)] -mod tests_widthtool; -#[cfg(test)] -mod tests_xform; /// Commands that act on the selection and take `ids` by selecting them first (`select.set`, with /// its checks), then running as on the selection: the result and the selection afterwards are the diff --git a/crates/engine/src/tests.rs b/crates/engine/src/tests.rs index 9313c3023..bb115d752 100644 --- a/crates/engine/src/tests.rs +++ b/crates/engine/src/tests.rs @@ -4,6 +4,175 @@ use super::*; use vectorcraft_geom::Point; use vectorcraft_tools::{PointerEvent, PointerKind, ToolKey}; +pub(super) mod adjust; +mod appearance; +mod areafit; +mod assets; +mod attributes; +mod bboxrotate; +mod blendfidelity; +mod blendopts; +mod blendspine; +mod brushlib; +mod brushsym; +mod build; +mod cancel; +mod charstroke; +pub(super) mod clip; +mod clipboard; +mod clipflavours; +mod clippaint; +mod cmdsplit; +mod cmykflatten; +mod colorguide; +mod colorguidelib; +pub(super) mod colormgmt; +mod colorthemes; +mod colourfonts; +mod compoundpaint; +mod constrain_new; +mod constrain_tools; +mod containers; +mod css; +mod cut; +mod dashalign; +mod distort; +mod docsetup; +mod draw2; +mod editcolors; +mod effectedit; +mod emptytype; +mod envelope; +mod envelope_distort; +mod envelope_edit; +pub(super) mod expand; +mod eyedropper; +mod file; +mod fileinfo; +mod flatpresets; +mod flatpreview; +mod flatten; +mod focal; +mod fontfiles; +mod fontlist; +mod freeform; +mod globaledit; +mod gradient; +mod gradpanel; +mod gradspan; +mod halftone; +mod history_mem; +mod ids_without_selection; +mod inline; +mod interactivity; +mod intertwine; +mod journal; +mod keyguide; +mod knockout; +mod labspots; +pub(super) mod large_edits; +mod layerclip; +mod layers; +mod legacy_ai; +mod library; +mod link_paths; +mod linked_stops; +mod linkfiles; +pub(super) mod links; +pub(super) mod linkspanel; +mod linkwatch; +mod liquify; +mod live; +mod livecorners; +mod maskview; +pub(super) mod menucmds; +mod nativefile; +mod newart; +mod newdoc; +mod objects_on_path; +mod objexpand; +mod opacitymask; +mod outlineobject; +pub(super) mod outlinestroke; +mod overprint; +mod package; +mod paintproxy; +mod panelcmds; +mod paragraphs; +mod params; +mod pathops; +mod pathtype; +mod pattern; +mod pdffidelity; +mod pdfmarks; +mod pdfpresets; +mod pdfraster; +mod persp_planes; +pub(super) mod persp_select; +mod persp_text; +mod perspgrid; +mod place; +mod placed_document; +mod plugins; +mod prefs; +mod previewbounds; +mod print; +mod printadvanced; +mod printpresets; +mod printpreview; +mod printps; +mod printtiling; +mod proxyitems; +mod puppetwarp; +mod rasterfilters; +mod rastersettings; +mod recolor; +mod recovery; +mod reflecthit; +mod registration; +mod save; +mod saveoptions; +mod scalestrokes; +mod scripts; +mod select_ids_first; +mod shaper; +mod shortcutset; +mod simplify_part; +mod slices; +mod smartguides; +mod store; +mod strokegeom; +mod strokegradient; +mod strokereach; +mod strokeux; +mod stylelib; +mod stylepanel; +mod styles; +mod swatchcmds; +mod swatches; +mod swatchlib; +mod symbolbounds; +mod symbollib; +mod targeting; +mod textcombos; +mod textedit; +pub(super) mod textimport; +mod tileedge; +mod tints; +mod toolsettings; +mod transformfx; +mod transparencygrid; +mod trap; +mod typearea; +mod typescale; +mod units; +mod variables; +mod webexport; +mod widthpoints; +mod widthprofiles; +mod widthtool; +mod xform; + fn session() -> Session { let mut s = Session::new(); s.execute("file.new", &json!({"width": 800, "height": 600})).unwrap(); diff --git a/crates/engine/src/tests_adjust.rs b/crates/engine/src/tests/adjust.rs similarity index 99% rename from crates/engine/src/tests_adjust.rs rename to crates/engine/src/tests/adjust.rs index fc444ba95..be4dd6a2d 100644 --- a/crates/engine/src/tests_adjust.rs +++ b/crates/engine/src/tests/adjust.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_doc::{Node, NodeKind}; -use super::*; +use crate::*; pub(crate) fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_appearance.rs b/crates/engine/src/tests/appearance.rs similarity index 99% rename from crates/engine/src/tests_appearance.rs rename to crates/engine/src/tests/appearance.rs index d2045f7e1..14d871b58 100644 --- a/crates/engine/src/tests_appearance.rs +++ b/crates/engine/src/tests/appearance.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{BlendMode, Color, GradientKind, Paint}; use vectorcraft_doc::{AppearanceItem, Node}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -425,7 +425,7 @@ fn appearance_commands_that_change_nothing_record_no_undo_step() { /// objects and the undo history stay as they were. Numbers, true, false and null still work. #[test] fn appearance_commands_refuse_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); let a = rect(&mut s, 50.0); let b = rect(&mut s, 200.0); diff --git a/crates/engine/src/tests_areafit.rs b/crates/engine/src/tests/areafit.rs similarity index 99% rename from crates/engine/src/tests_areafit.rs rename to crates/engine/src/tests/areafit.rs index dd4dadb37..57182baf3 100644 --- a/crates/engine/src/tests_areafit.rs +++ b/crates/engine/src/tests/areafit.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::{AreaFit, NodeKind, TextKind, TextObject}; use vectorcraft_geom::Rect; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; const STORY: &str = "The quick brown fox jumps over the lazy dog. A second sentence follows the first one here. Then a third one ends it."; diff --git a/crates/engine/src/tests_assets.rs b/crates/engine/src/tests/assets.rs similarity index 99% rename from crates/engine/src/tests_assets.rs rename to crates/engine/src/tests/assets.rs index 17fd41b65..58a4c3564 100644 --- a/crates/engine/src/tests_assets.rs +++ b/crates/engine/src/tests/assets.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Paint}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_attributes.rs b/crates/engine/src/tests/attributes.rs similarity index 99% rename from crates/engine/src/tests_attributes.rs rename to crates/engine/src/tests/attributes.rs index b354e9fdb..4dea45940 100644 --- a/crates/engine/src/tests_attributes.rs +++ b/crates/engine/src/tests/attributes.rs @@ -7,7 +7,7 @@ use vectorcraft_doc::{ImageMap, NodeKind}; use vectorcraft_geom::{Affine, FillRule}; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_bboxrotate.rs b/crates/engine/src/tests/bboxrotate.rs similarity index 99% rename from crates/engine/src/tests_bboxrotate.rs rename to crates/engine/src/tests/bboxrotate.rs index 902ed629a..17c6aac3c 100644 --- a/crates/engine/src/tests_bboxrotate.rs +++ b/crates/engine/src/tests/bboxrotate.rs @@ -8,7 +8,7 @@ use vectorcraft_geom::{Point, Rect}; use vectorcraft_tools::bbox::Handle; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_blendfidelity.rs b/crates/engine/src/tests/blendfidelity.rs similarity index 99% rename from crates/engine/src/tests_blendfidelity.rs rename to crates/engine/src/tests/blendfidelity.rs index a3c06c95a..e73dc9242 100644 --- a/crates/engine/src/tests_blendfidelity.rs +++ b/crates/engine/src/tests/blendfidelity.rs @@ -7,7 +7,7 @@ use vectorcraft_color::Paint; use vectorcraft_doc::{Knockout, Node, NodeKind}; use vectorcraft_geom::{Point, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_blendopts.rs b/crates/engine/src/tests/blendopts.rs similarity index 99% rename from crates/engine/src/tests_blendopts.rs rename to crates/engine/src/tests/blendopts.rs index 4682ba1ea..f2bc3f279 100644 --- a/crates/engine/src/tests_blendopts.rs +++ b/crates/engine/src/tests/blendopts.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::live::{BlendOrientation, BlendSpacing, BlendSpec}; use vectorcraft_doc::{Node, NodeKind}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_blendspine.rs b/crates/engine/src/tests/blendspine.rs similarity index 99% rename from crates/engine/src/tests_blendspine.rs rename to crates/engine/src/tests/blendspine.rs index 3a9009a18..78e9335ac 100644 --- a/crates/engine/src/tests_blendspine.rs +++ b/crates/engine/src/tests/blendspine.rs @@ -8,7 +8,7 @@ use vectorcraft_doc::live::BlendSpec; use vectorcraft_doc::{Node, NodeKind}; use vectorcraft_geom::{Point, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_brushlib.rs b/crates/engine/src/tests/brushlib.rs similarity index 99% rename from crates/engine/src/tests_brushlib.rs rename to crates/engine/src/tests/brushlib.rs index 1146a4083..f5ac96d50 100644 --- a/crates/engine/src/tests_brushlib.rs +++ b/crates/engine/src/tests/brushlib.rs @@ -7,7 +7,7 @@ use serde_json::{Value, json}; use vectorcraft_brush::BrushKind; use vectorcraft_doc::{NodeId, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_brushsym.rs b/crates/engine/src/tests/brushsym.rs similarity index 99% rename from crates/engine/src/tests_brushsym.rs rename to crates/engine/src/tests/brushsym.rs index 43df06f14..c6a33ffc6 100644 --- a/crates/engine/src/tests_brushsym.rs +++ b/crates/engine/src/tests/brushsym.rs @@ -5,7 +5,7 @@ use vectorcraft_doc::{Document, Node, NodeKind}; use vectorcraft_geom::Rect; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -1074,7 +1074,7 @@ fn symbol_stainer_refuses_a_keep_model_given_as_text() { /// document and the undo history stay as they were. Numbers, true, false and null still work. #[test] fn symbol_commands_refuse_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); let (_, name, b) = make_symbol(&mut s); let at = json!([[b.center().x, b.center().y]]); diff --git a/crates/engine/src/tests_build.rs b/crates/engine/src/tests/build.rs similarity index 99% rename from crates/engine/src/tests_build.rs rename to crates/engine/src/tests/build.rs index fb16cd5e9..a3f841b4a 100644 --- a/crates/engine/src/tests_build.rs +++ b/crates/engine/src/tests/build.rs @@ -9,7 +9,7 @@ use vectorcraft_geom::{Affine, FillRule, PathData, Point, Rect}; use vectorcraft_testkit::pdf::{PdfPage, pdf}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -1734,7 +1734,7 @@ fn live_paint_stroke_edge() { /// and the undo history stay as they were. True, false and null still work. #[test] fn shape_builder_refuses_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); two(&mut s); let merge = |extra: Value| { @@ -1761,7 +1761,7 @@ fn shape_builder_refuses_a_number_or_boolean_given_as_text() { /// key; the document and the undo history stay as they were. Numbers and null still work. #[test] fn live_paint_and_image_trace_refuse_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); let g = live(&mut s); let calls = [ diff --git a/crates/engine/src/tests_cancel.rs b/crates/engine/src/tests/cancel.rs similarity index 100% rename from crates/engine/src/tests_cancel.rs rename to crates/engine/src/tests/cancel.rs diff --git a/crates/engine/src/tests_charstroke.rs b/crates/engine/src/tests/charstroke.rs similarity index 99% rename from crates/engine/src/tests_charstroke.rs rename to crates/engine/src/tests/charstroke.rs index 5ccdedce4..ba948cb66 100644 --- a/crates/engine/src/tests_charstroke.rs +++ b/crates/engine/src/tests/charstroke.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{CharStyle, Dash, LineCap, LineJoin, NodeId, NodeKind, StrokeAlign, TextObject}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_clip.rs b/crates/engine/src/tests/clip.rs similarity index 99% rename from crates/engine/src/tests_clip.rs rename to crates/engine/src/tests/clip.rs index 2cc16daee..cbba2f36c 100644 --- a/crates/engine/src/tests_clip.rs +++ b/crates/engine/src/tests/clip.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_render::Rendered; -use super::*; +use crate::*; pub(crate) fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_clipboard.rs b/crates/engine/src/tests/clipboard.rs similarity index 99% rename from crates/engine/src/tests_clipboard.rs rename to crates/engine/src/tests/clipboard.rs index b32b1c44f..410a828b9 100644 --- a/crates/engine/src/tests_clipboard.rs +++ b/crates/engine/src/tests/clipboard.rs @@ -6,7 +6,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Document, Node, NodeKind}; use vectorcraft_geom::{Point, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_clipflavours.rs b/crates/engine/src/tests/clipflavours.rs similarity index 99% rename from crates/engine/src/tests_clipflavours.rs rename to crates/engine/src/tests/clipflavours.rs index 173bb4353..4751b7f6b 100644 --- a/crates/engine/src/tests_clipflavours.rs +++ b/crates/engine/src/tests/clipflavours.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::{NodeKind, TextObject}; use vectorcraft_geom::Point; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; use crate::cmd::clipboard::{AI, BITMAP, EPS, FILE_HEAD, PASTE_ORDER, PDF, PNG, SVG, TEXT, file_flavour}; fn session() -> Session { diff --git a/crates/engine/src/tests_clippaint.rs b/crates/engine/src/tests/clippaint.rs similarity index 99% rename from crates/engine/src/tests_clippaint.rs rename to crates/engine/src/tests/clippaint.rs index 673466d37..efcb1df70 100644 --- a/crates/engine/src/tests_clippaint.rs +++ b/crates/engine/src/tests/clippaint.rs @@ -6,7 +6,7 @@ use serde_json::json; use vectorcraft_geom::Affine; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; fn rect(s: &mut Session, x: f64, w: f64, fill: &str) -> NodeId { let id = NodeId(s.execute("shape.rectangle", &json!({"x": x, "y": 50, "width": w, "height": 100})).unwrap()["id"].as_u64().unwrap()); diff --git a/crates/engine/src/tests_cmdsplit.rs b/crates/engine/src/tests/cmdsplit.rs similarity index 99% rename from crates/engine/src/tests_cmdsplit.rs rename to crates/engine/src/tests/cmdsplit.rs index 767b82b4c..8c58d76c5 100644 --- a/crates/engine/src/tests_cmdsplit.rs +++ b/crates/engine/src/tests/cmdsplit.rs @@ -3,7 +3,7 @@ use serde_json::json; -use super::*; +use crate::*; use crate::cmd::{leaf_targets, paint_targets, unique_name}; fn session() -> Session { diff --git a/crates/engine/src/tests_cmykflatten.rs b/crates/engine/src/tests/cmykflatten.rs similarity index 99% rename from crates/engine/src/tests_cmykflatten.rs rename to crates/engine/src/tests/cmykflatten.rs index fb2c8d961..c28ea0f06 100644 --- a/crates/engine/src/tests_cmykflatten.rs +++ b/crates/engine/src/tests/cmykflatten.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::{AppearanceItem, Node, NodeKind}; use vectorcraft_geom::{Point, Rect, Shape}; use vectorcraft_render::Renderer; -use super::*; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap() diff --git a/crates/engine/src/tests_colorguide.rs b/crates/engine/src/tests/colorguide.rs similarity index 99% rename from crates/engine/src/tests_colorguide.rs rename to crates/engine/src/tests/colorguide.rs index e5b979717..d96c4f414 100644 --- a/crates/engine/src/tests_colorguide.rs +++ b/crates/engine/src/tests/colorguide.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; use vectorcraft_color::Color; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_colorguidelib.rs b/crates/engine/src/tests/colorguidelib.rs similarity index 99% rename from crates/engine/src/tests_colorguidelib.rs rename to crates/engine/src/tests/colorguidelib.rs index 41b592b87..986d8c469 100644 --- a/crates/engine/src/tests_colorguidelib.rs +++ b/crates/engine/src/tests/colorguidelib.rs @@ -5,7 +5,7 @@ use std::collections::HashSet; use serde_json::{Value, json}; -use super::*; +use crate::*; fn hexes(v: &Value) -> Vec { v.as_array().unwrap().iter().map(|h| h.as_str().unwrap().to_string()).collect() diff --git a/crates/engine/src/tests_colormgmt.rs b/crates/engine/src/tests/colormgmt.rs similarity index 99% rename from crates/engine/src/tests_colormgmt.rs rename to crates/engine/src/tests/colormgmt.rs index 0f370de4e..d1df8f5a1 100644 --- a/crates/engine/src/tests_colormgmt.rs +++ b/crates/engine/src/tests/colormgmt.rs @@ -11,7 +11,7 @@ use vectorcraft_geom::Affine; use vectorcraft_render::proof::{ProofSetup, ProofTarget}; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; /// Every test here reads or changes the process-wide proof view or colour settings: one at a time. /// Tests that switch the Color Settings away from the defaults live in `tests/color_settings.rs` diff --git a/crates/engine/src/tests_colorthemes.rs b/crates/engine/src/tests/colorthemes.rs similarity index 99% rename from crates/engine/src/tests_colorthemes.rs rename to crates/engine/src/tests/colorthemes.rs index 83551861c..8f531e20b 100644 --- a/crates/engine/src/tests_colorthemes.rs +++ b/crates/engine/src/tests/colorthemes.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::Color; use vectorcraft_color::harmony::Harmony; -use super::*; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap_or_else(|e| panic!("{id}: {e}")) diff --git a/crates/engine/src/tests_colourfonts.rs b/crates/engine/src/tests/colourfonts.rs similarity index 99% rename from crates/engine/src/tests_colourfonts.rs rename to crates/engine/src/tests/colourfonts.rs index 1e62fac02..a61f9f38b 100644 --- a/crates/engine/src/tests_colourfonts.rs +++ b/crates/engine/src/tests/colourfonts.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::NodeKind; use vectorcraft_text::test_fonts::{SVG_CHAR, source_sans_gid, svg_font}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_compoundpaint.rs b/crates/engine/src/tests/compoundpaint.rs similarity index 99% rename from crates/engine/src/tests_compoundpaint.rs rename to crates/engine/src/tests/compoundpaint.rs index 8c81ef2ce..4e22e31d3 100644 --- a/crates/engine/src/tests_compoundpaint.rs +++ b/crates/engine/src/tests/compoundpaint.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_color::Paint; -use super::*; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap() diff --git a/crates/engine/src/tests_constrain_new.rs b/crates/engine/src/tests/constrain_new.rs similarity index 99% rename from crates/engine/src/tests_constrain_new.rs rename to crates/engine/src/tests/constrain_new.rs index 3a53333c5..4184cb3c9 100644 --- a/crates/engine/src/tests_constrain_new.rs +++ b/crates/engine/src/tests/constrain_new.rs @@ -8,7 +8,7 @@ use vectorcraft_doc::{LiveShape, NodeKind, TextKind}; use vectorcraft_geom::{PathData, Point, Rect}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; use PointerKind::{Down, Drag, Up}; diff --git a/crates/engine/src/tests_constrain_tools.rs b/crates/engine/src/tests/constrain_tools.rs similarity index 99% rename from crates/engine/src/tests_constrain_tools.rs rename to crates/engine/src/tests/constrain_tools.rs index 357f588fd..6a8317cfe 100644 --- a/crates/engine/src/tests_constrain_tools.rs +++ b/crates/engine/src/tests/constrain_tools.rs @@ -7,7 +7,7 @@ use vectorcraft_doc::{LiveShape, NodeKind}; use vectorcraft_geom::{Point, Vec2}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn new_doc() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_containers.rs b/crates/engine/src/tests/containers.rs similarity index 99% rename from crates/engine/src/tests_containers.rs rename to crates/engine/src/tests/containers.rs index 003c8a0f3..8b218d9df 100644 --- a/crates/engine/src/tests_containers.rs +++ b/crates/engine/src/tests/containers.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Node, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_css.rs b/crates/engine/src/tests/css.rs similarity index 99% rename from crates/engine/src/tests_css.rs rename to crates/engine/src/tests/css.rs index 8a39eb059..764990b10 100644 --- a/crates/engine/src/tests_css.rs +++ b/crates/engine/src/tests/css.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_cut.rs b/crates/engine/src/tests/cut.rs similarity index 99% rename from crates/engine/src/tests_cut.rs rename to crates/engine/src/tests/cut.rs index f599203fd..b87070bd8 100644 --- a/crates/engine/src/tests_cut.rs +++ b/crates/engine/src/tests/cut.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::NodeKind; use vectorcraft_geom::{FillRule, PathData, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_dashalign.rs b/crates/engine/src/tests/dashalign.rs similarity index 98% rename from crates/engine/src/tests_dashalign.rs rename to crates/engine/src/tests/dashalign.rs index 3c6a9018a..079bfe899 100644 --- a/crates/engine/src/tests_dashalign.rs +++ b/crates/engine/src/tests/dashalign.rs @@ -5,8 +5,8 @@ use kurbo::Shape; use serde_json::json; use vectorcraft_doc::Dash; -use super::tests_outlinestroke::{outline, path_of}; -use super::*; +use crate::tests_outlinestroke::{outline, path_of}; +use crate::*; fn session_with_rect() -> (Session, NodeId) { let mut s = Session::new(); diff --git a/crates/engine/src/tests_distort.rs b/crates/engine/src/tests/distort.rs similarity index 99% rename from crates/engine/src/tests_distort.rs rename to crates/engine/src/tests/distort.rs index 7f326fc4b..d033fadee 100644 --- a/crates/engine/src/tests_distort.rs +++ b/crates/engine/src/tests/distort.rs @@ -5,7 +5,7 @@ use vectorcraft_geom::{PathData, Point, Rect, Shape}; use vectorcraft_tools::distort::perspective::{PerspectiveGrid, Plane}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_docsetup.rs b/crates/engine/src/tests/docsetup.rs similarity index 99% rename from crates/engine/src/tests_docsetup.rs rename to crates/engine/src/tests/docsetup.rs index c4a4fa3e3..e485af2ef 100644 --- a/crates/engine/src/tests_docsetup.rs +++ b/crates/engine/src/tests/docsetup.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{CharPosition, DocSetup, ExportText, GridSize, NodeId, NodeKind, ScriptMetrics, TextObject, TextStyleDef, Unit}; use vectorcraft_tools::{PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_draw2.rs b/crates/engine/src/tests/draw2.rs similarity index 99% rename from crates/engine/src/tests_draw2.rs rename to crates/engine/src/tests/draw2.rs index b14e29979..7577991af 100644 --- a/crates/engine/src/tests_draw2.rs +++ b/crates/engine/src/tests/draw2.rs @@ -5,7 +5,7 @@ use vectorcraft_doc::{NodeId, NodeKind}; use vectorcraft_geom::{FillRule, PathData, Point}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; use crate::tooling::{UiRequest, ViewInfo}; fn session() -> Session { @@ -1518,8 +1518,8 @@ fn path_commands_refuse_a_boolean_given_as_text() { ("path.blob", json!({"points": stroke, "mergeOnlySelection": 1}), "mergeOnlySelection"), ("path.blob", json!({"points": stroke, "merge": "false"}), "merge"), ] - .map(|(cmd, p, key)| super::tests::not_a_switch(cmd, p, key)); - let wrong = super::tests::not_refused(&mut s, &calls); + .map(|(cmd, p, key)| crate::tests::not_a_switch(cmd, p, key)); + let wrong = crate::tests::not_refused(&mut s, &calls); assert!(wrong.is_empty(), "not refused: {wrong:#?}"); s.execute("path.setHandle", &json!({"id": id.0, "anchor": 0, "x": 160, "y": 90, "independent": true})).unwrap(); s.execute("path.close", &json!({"id": id.0, "independent": null})).unwrap(); diff --git a/crates/engine/src/tests_editcolors.rs b/crates/engine/src/tests/editcolors.rs similarity index 99% rename from crates/engine/src/tests_editcolors.rs rename to crates/engine/src/tests/editcolors.rs index ee4c050a8..680fa4217 100644 --- a/crates/engine/src/tests_editcolors.rs +++ b/crates/engine/src/tests/editcolors.rs @@ -5,7 +5,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::Node; use vectorcraft_tools::{PointerEvent, PointerKind}; -use super::*; +use crate::*; use crate::tooling::ViewInfo; fn session() -> Session { diff --git a/crates/engine/src/tests_effectedit.rs b/crates/engine/src/tests/effectedit.rs similarity index 99% rename from crates/engine/src/tests_effectedit.rs rename to crates/engine/src/tests/effectedit.rs index 042425895..b64005b6d 100644 --- a/crates/engine/src/tests_effectedit.rs +++ b/crates/engine/src/tests/effectedit.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::Node; -use super::*; +use crate::*; /// A selected 100×100 rectangle with the default appearance `[Fill white, Stroke black]`. fn session_with_rect() -> (Session, NodeId) { diff --git a/crates/engine/src/tests_emptytype.rs b/crates/engine/src/tests/emptytype.rs similarity index 99% rename from crates/engine/src/tests_emptytype.rs rename to crates/engine/src/tests/emptytype.rs index 47e8b0310..0ae0184e0 100644 --- a/crates/engine/src/tests_emptytype.rs +++ b/crates/engine/src/tests/emptytype.rs @@ -5,7 +5,7 @@ use serde_json::json; use vectorcraft_doc::{NodeId, NodeKind, TextKind}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, SurroundingUnit, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { // Type placed by the Type tools starts empty (Fill New Type Objects With Placeholder Text off). diff --git a/crates/engine/src/tests_envelope.rs b/crates/engine/src/tests/envelope.rs similarity index 99% rename from crates/engine/src/tests_envelope.rs rename to crates/engine/src/tests/envelope.rs index a6e917d08..0180acb31 100644 --- a/crates/engine/src/tests_envelope.rs +++ b/crates/engine/src/tests/envelope.rs @@ -7,7 +7,7 @@ use vectorcraft_doc::live::{self, EnvelopeKind, EnvelopeOptions, PreserveShape}; use vectorcraft_doc::{Knockout, Node, NodeKind, OpacityMask}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_envelope_distort.rs b/crates/engine/src/tests/envelope_distort.rs similarity index 99% rename from crates/engine/src/tests_envelope_distort.rs rename to crates/engine/src/tests/envelope_distort.rs index 00b2bf6e9..c6727d866 100644 --- a/crates/engine/src/tests_envelope_distort.rs +++ b/crates/engine/src/tests/envelope_distort.rs @@ -10,7 +10,7 @@ use vectorcraft_doc::{AppearanceItem, Node, NodeKind, PatternDef, Symbol}; use vectorcraft_geom::{Affine, Point, Rect, shapes}; use vectorcraft_render::effects; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_envelope_edit.rs b/crates/engine/src/tests/envelope_edit.rs similarity index 99% rename from crates/engine/src/tests_envelope_edit.rs rename to crates/engine/src/tests/envelope_edit.rs index 5a1186dc1..7b87bef2c 100644 --- a/crates/engine/src/tests_envelope_edit.rs +++ b/crates/engine/src/tests/envelope_edit.rs @@ -7,7 +7,7 @@ use vectorcraft_doc::{EnvelopeKind, Node, NodeKind}; use vectorcraft_geom::{Affine, Point, Vec2}; use vectorcraft_tools::{PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_expand.rs b/crates/engine/src/tests/expand.rs similarity index 99% rename from crates/engine/src/tests_expand.rs rename to crates/engine/src/tests/expand.rs index 3d7e0baea..015439cbe 100644 --- a/crates/engine/src/tests_expand.rs +++ b/crates/engine/src/tests/expand.rs @@ -5,8 +5,8 @@ use serde_json::{Value, json}; use vectorcraft_color::BlendMode; use vectorcraft_doc::{Node, NodeKind}; -use super::tests_menucmds::{place_undecodable_png, warns_undecoded}; -use super::*; +use crate::tests_menucmds::{place_undecodable_png, warns_undecoded}; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_eyedropper.rs b/crates/engine/src/tests/eyedropper.rs similarity index 99% rename from crates/engine/src/tests_eyedropper.rs rename to crates/engine/src/tests/eyedropper.rs index 4ef5773ca..5f5e550b1 100644 --- a/crates/engine/src/tests_eyedropper.rs +++ b/crates/engine/src/tests/eyedropper.rs @@ -6,7 +6,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{ImageBlob, ImageObject, Justify, LineCap, Node, NodeKind}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_file.rs b/crates/engine/src/tests/file.rs similarity index 99% rename from crates/engine/src/tests_file.rs rename to crates/engine/src/tests/file.rs index 01837b0c9..78bf7381e 100644 --- a/crates/engine/src/tests_file.rs +++ b/crates/engine/src/tests/file.rs @@ -1,6 +1,6 @@ use serde_json::json; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_fileinfo.rs b/crates/engine/src/tests/fileinfo.rs similarity index 99% rename from crates/engine/src/tests_fileinfo.rs rename to crates/engine/src/tests/fileinfo.rs index bbe8eca66..c37cbfe90 100644 --- a/crates/engine/src/tests_fileinfo.rs +++ b/crates/engine/src/tests/fileinfo.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{CopyrightStatus, DocMetadata}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_flatpresets.rs b/crates/engine/src/tests/flatpresets.rs similarity index 99% rename from crates/engine/src/tests_flatpresets.rs rename to crates/engine/src/tests/flatpresets.rs index df5b2af67..2c73887be 100644 --- a/crates/engine/src/tests_flatpresets.rs +++ b/crates/engine/src/tests/flatpresets.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; use crate::cmd::{FlattenOptions, FlattenerPreset}; fn run(s: &mut Session, id: &str, p: Value) -> Value { diff --git a/crates/engine/src/tests_flatpreview.rs b/crates/engine/src/tests/flatpreview.rs similarity index 99% rename from crates/engine/src/tests_flatpreview.rs rename to crates/engine/src/tests/flatpreview.rs index cd7033dde..5ea702ee1 100644 --- a/crates/engine/src/tests_flatpreview.rs +++ b/crates/engine/src/tests/flatpreview.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; use crate::cmd::flatten::Highlight; fn session() -> Session { diff --git a/crates/engine/src/tests_flatten.rs b/crates/engine/src/tests/flatten.rs similarity index 99% rename from crates/engine/src/tests_flatten.rs rename to crates/engine/src/tests/flatten.rs index 69882a32b..e2b9b4f6a 100644 --- a/crates/engine/src/tests_flatten.rs +++ b/crates/engine/src/tests/flatten.rs @@ -7,9 +7,9 @@ use vectorcraft_doc::{AppearanceItem, Node, NodeKind}; use vectorcraft_geom::{BezPath, Point, Rect, Shape}; use vectorcraft_render::{Rendered, Renderer}; -use super::tests_expand::{RANDOM_CASES, random_transforms}; -use super::tests_menucmds::{place_undecodable_png, warns_undecoded}; -use super::*; +use crate::tests_expand::{RANDOM_CASES, random_transforms}; +use crate::tests_menucmds::{place_undecodable_png, warns_undecoded}; +use crate::*; /// Colours here go through the process-wide colour settings, which the colour management tests /// change: one at a time with them. diff --git a/crates/engine/src/tests_focal.rs b/crates/engine/src/tests/focal.rs similarity index 99% rename from crates/engine/src/tests_focal.rs rename to crates/engine/src/tests/focal.rs index 214fe774b..166600a86 100644 --- a/crates/engine/src/tests_focal.rs +++ b/crates/engine/src/tests/focal.rs @@ -6,7 +6,7 @@ use vectorcraft_color::{GradientGeom, Paint}; use vectorcraft_geom::Point; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; /// A 200 pt square at (100, 100) with a radial fill centred on it, radius 100. fn radial() -> (Session, NodeId) { diff --git a/crates/engine/src/tests_fontfiles.rs b/crates/engine/src/tests/fontfiles.rs similarity index 100% rename from crates/engine/src/tests_fontfiles.rs rename to crates/engine/src/tests/fontfiles.rs diff --git a/crates/engine/src/tests_fontlist.rs b/crates/engine/src/tests/fontlist.rs similarity index 99% rename from crates/engine/src/tests_fontlist.rs rename to crates/engine/src/tests/fontlist.rs index e66bb1297..d0804b7d0 100644 --- a/crates/engine/src/tests_fontlist.rs +++ b/crates/engine/src/tests/fontlist.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_text::{FontDb, system_font_dirs}; -use super::*; +use crate::*; fn names(v: &Value) -> Vec { serde_json::from_value(v.clone()).unwrap() diff --git a/crates/engine/src/tests_freeform.rs b/crates/engine/src/tests/freeform.rs similarity index 99% rename from crates/engine/src/tests_freeform.rs rename to crates/engine/src/tests/freeform.rs index e64a9a805..df9ed3e4b 100644 --- a/crates/engine/src/tests_freeform.rs +++ b/crates/engine/src/tests/freeform.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Freeform, GradientKind, GradientPaint, Paint}; use vectorcraft_geom::Point; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -243,7 +243,7 @@ fn lines_join_split_and_follow_the_selection() { /// the undo history stay as they were. Numbers, false and null still work. #[test] fn freeform_commands_refuse_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let (mut s, id) = freeform_rect(); run(&mut s, "paint.freeform.addLine", json!({"points": [0, 1]})); let calls = [ diff --git a/crates/engine/src/tests_globaledit.rs b/crates/engine/src/tests/globaledit.rs similarity index 99% rename from crates/engine/src/tests_globaledit.rs rename to crates/engine/src/tests/globaledit.rs index c928d1712..e6ad7fac9 100644 --- a/crates/engine/src/tests_globaledit.rs +++ b/crates/engine/src/tests/globaledit.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{Node, NodeKind}; use vectorcraft_geom::{Affine, PathData, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_gradient.rs b/crates/engine/src/tests/gradient.rs similarity index 99% rename from crates/engine/src/tests_gradient.rs rename to crates/engine/src/tests/gradient.rs index c2e1c0e6a..c36addcbc 100644 --- a/crates/engine/src/tests_gradient.rs +++ b/crates/engine/src/tests/gradient.rs @@ -6,7 +6,7 @@ use vectorcraft_color::{Color, Gradient, GradientGeom, GradientKind, GradientPai use vectorcraft_geom::Point; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -101,7 +101,7 @@ fn bad_gradients_are_rejected_without_editing() { /// the object and the undo history stay as they were. True, false, numbers and null still work. #[test] fn gradient_commands_refuse_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); let id = rect(&mut s, 0.0, 0.0, 100.0, 100.0); s.execute("paint.setFill", &json!({"gradient": {"kind": "linear"}})).unwrap(); diff --git a/crates/engine/src/tests_gradpanel.rs b/crates/engine/src/tests/gradpanel.rs similarity index 99% rename from crates/engine/src/tests_gradpanel.rs rename to crates/engine/src/tests/gradpanel.rs index b01592ab2..85fd4cf02 100644 --- a/crates/engine/src/tests_gradpanel.rs +++ b/crates/engine/src/tests/gradpanel.rs @@ -6,7 +6,7 @@ use serde_json::json; use vectorcraft_color::{GradientGeom, Paint}; use vectorcraft_geom::Point; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_gradspan.rs b/crates/engine/src/tests/gradspan.rs similarity index 99% rename from crates/engine/src/tests_gradspan.rs rename to crates/engine/src/tests/gradspan.rs index 59f29a361..967420464 100644 --- a/crates/engine/src/tests_gradspan.rs +++ b/crates/engine/src/tests/gradspan.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{GradientPaint, Paint}; use vectorcraft_geom::{Affine, Point}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_halftone.rs b/crates/engine/src/tests/halftone.rs similarity index 99% rename from crates/engine/src/tests_halftone.rs rename to crates/engine/src/tests/halftone.rs index 134626344..718c7c523 100644 --- a/crates/engine/src/tests_halftone.rs +++ b/crates/engine/src/tests/halftone.rs @@ -2,7 +2,7 @@ use serde_json::json; -use super::*; +use crate::*; use crate::tests_adjust::{fill_hex, node, red_rect, session}; use crate::tests_menucmds::{place_undecodable_png, warns_undecoded}; diff --git a/crates/engine/src/tests_history_mem.rs b/crates/engine/src/tests/history_mem.rs similarity index 99% rename from crates/engine/src/tests_history_mem.rs rename to crates/engine/src/tests/history_mem.rs index 7728672cc..af5d49552 100644 --- a/crates/engine/src/tests_history_mem.rs +++ b/crates/engine/src/tests/history_mem.rs @@ -5,7 +5,7 @@ use serde_json::json; use vectorcraft_doc::{Appearance, Node}; use vectorcraft_geom::shapes; -use super::*; +use crate::*; /// A session with one document holding `n` rectangles, all selected. fn session_with_rects(n: usize) -> Session { diff --git a/crates/engine/src/tests_ids_without_selection.rs b/crates/engine/src/tests/ids_without_selection.rs similarity index 99% rename from crates/engine/src/tests_ids_without_selection.rs rename to crates/engine/src/tests/ids_without_selection.rs index 1660a7630..f8449c104 100644 --- a/crates/engine/src/tests_ids_without_selection.rs +++ b/crates/engine/src/tests/ids_without_selection.rs @@ -3,7 +3,7 @@ use serde_json::json; -use super::*; +use crate::*; fn doc_with_rect() -> (Session, u64) { let mut s = Session::new(); diff --git a/crates/engine/src/tests_inline.rs b/crates/engine/src/tests/inline.rs similarity index 99% rename from crates/engine/src/tests_inline.rs rename to crates/engine/src/tests/inline.rs index 6ed8533b7..4b14b74be 100644 --- a/crates/engine/src/tests_inline.rs +++ b/crates/engine/src/tests/inline.rs @@ -5,7 +5,7 @@ use vectorcraft_doc::text::INLINE_CHAR; use vectorcraft_doc::{NodeId, NodeKind, TextObject}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_interactivity.rs b/crates/engine/src/tests/interactivity.rs similarity index 99% rename from crates/engine/src/tests_interactivity.rs rename to crates/engine/src/tests/interactivity.rs index a3fe01286..36a2855df 100644 --- a/crates/engine/src/tests_interactivity.rs +++ b/crates/engine/src/tests/interactivity.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_intertwine.rs b/crates/engine/src/tests/intertwine.rs similarity index 99% rename from crates/engine/src/tests_intertwine.rs rename to crates/engine/src/tests/intertwine.rs index 515f5a9c9..02a279447 100644 --- a/crates/engine/src/tests_intertwine.rs +++ b/crates/engine/src/tests/intertwine.rs @@ -6,8 +6,8 @@ use serde_json::{Value, json}; use vectorcraft_render::Rendered; -use super::tests_clip::{hit, id_of, render, select, session}; -use super::*; +use crate::tests_clip::{hit, id_of, render, select, session}; +use crate::*; /// Ring A (red, centre 35,50) and ring B (blue, centre 65,50), radius 25, 8 pt strokes, no fill: /// B is in front. The rings cross at (50, 30) and (50, 70). diff --git a/crates/engine/src/tests_journal.rs b/crates/engine/src/tests/journal.rs similarity index 99% rename from crates/engine/src/tests_journal.rs rename to crates/engine/src/tests/journal.rs index 311700598..92feb107f 100644 --- a/crates/engine/src/tests_journal.rs +++ b/crates/engine/src/tests/journal.rs @@ -4,7 +4,7 @@ use serde_json::json; -use super::*; +use crate::*; fn created(s: &Session) -> Option { s.doc().unwrap().doc.metadata.created diff --git a/crates/engine/src/tests_keyguide.rs b/crates/engine/src/tests/keyguide.rs similarity index 99% rename from crates/engine/src/tests_keyguide.rs rename to crates/engine/src/tests/keyguide.rs index 9e45ae0f5..09acdd726 100644 --- a/crates/engine/src/tests_keyguide.rs +++ b/crates/engine/src/tests/keyguide.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_knockout.rs b/crates/engine/src/tests/knockout.rs similarity index 99% rename from crates/engine/src/tests_knockout.rs rename to crates/engine/src/tests/knockout.rs index 972dd9f74..723ef66dd 100644 --- a/crates/engine/src/tests_knockout.rs +++ b/crates/engine/src/tests/knockout.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::Knockout; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_labspots.rs b/crates/engine/src/tests/labspots.rs similarity index 99% rename from crates/engine/src/tests_labspots.rs rename to crates/engine/src/tests/labspots.rs index 24b1a5c92..206411888 100644 --- a/crates/engine/src/tests_labspots.rs +++ b/crates/engine/src/tests/labspots.rs @@ -7,8 +7,8 @@ use vectorcraft_color::cms::{self, Model}; use vectorcraft_color::{Color, Paint}; use vectorcraft_render::proof; -use super::tests_colormgmt::GLOBAL; -use super::*; +use crate::tests_colormgmt::GLOBAL; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_large_edits.rs b/crates/engine/src/tests/large_edits.rs similarity index 99% rename from crates/engine/src/tests_large_edits.rs rename to crates/engine/src/tests/large_edits.rs index 0347ebdf3..97405d6f6 100644 --- a/crates/engine/src/tests_large_edits.rs +++ b/crates/engine/src/tests/large_edits.rs @@ -10,7 +10,7 @@ use vectorcraft_doc::{Appearance, Document, LAYER_COLORS, LayerColor, Node, Node use vectorcraft_geom::{FillRule, Rect, shapes}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; /// Squares in a row of [`square_at`]. const ROW: usize = 200; diff --git a/crates/engine/src/tests_layerclip.rs b/crates/engine/src/tests/layerclip.rs similarity index 98% rename from crates/engine/src/tests_layerclip.rs rename to crates/engine/src/tests/layerclip.rs index 21c694d3e..b52437a69 100644 --- a/crates/engine/src/tests_layerclip.rs +++ b/crates/engine/src/tests/layerclip.rs @@ -3,8 +3,8 @@ use serde_json::json; -use super::tests_clip::{assert_outputs_agree, hit, id_of, opaque, render, select, session}; -use super::*; +use crate::tests_clip::{assert_outputs_agree, hit, id_of, opaque, render, select, session}; +use crate::*; fn rect(s: &mut Session, x: f64, y: f64, w: f64, h: f64) -> NodeId { id_of(&s.execute("shape.rectangle", &json!({"x": x, "y": y, "width": w, "height": h})).unwrap()) diff --git a/crates/engine/src/tests_layers.rs b/crates/engine/src/tests/layers.rs similarity index 99% rename from crates/engine/src/tests_layers.rs rename to crates/engine/src/tests/layers.rs index d78645e82..3a8e6403c 100644 --- a/crates/engine/src/tests_layers.rs +++ b/crates/engine/src/tests/layers.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{LayerColor, Node, NodeId, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_legacy_ai.rs b/crates/engine/src/tests/legacy_ai.rs similarity index 99% rename from crates/engine/src/tests_legacy_ai.rs rename to crates/engine/src/tests/legacy_ai.rs index 381ea16ae..fdbb29a35 100644 --- a/crates/engine/src/tests_legacy_ai.rs +++ b/crates/engine/src/tests/legacy_ai.rs @@ -3,8 +3,8 @@ use serde_json::{Value, json}; -use super::tests_menucmds::{place_undecodable_png, place_undecodable_png_sized}; -use super::*; +use crate::tests_menucmds::{place_undecodable_png, place_undecodable_png_sized}; +use crate::*; use crate::tests_links::Folder; /// Three artboards (named A, B and C) with a rectangle on each, on two layers: the first diff --git a/crates/engine/src/tests_library.rs b/crates/engine/src/tests/library.rs similarity index 99% rename from crates/engine/src/tests_library.rs rename to crates/engine/src/tests/library.rs index c82f471d6..f85eb93a3 100644 --- a/crates/engine/src/tests_library.rs +++ b/crates/engine/src/tests/library.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_link_paths.rs b/crates/engine/src/tests/link_paths.rs similarity index 99% rename from crates/engine/src/tests_link_paths.rs rename to crates/engine/src/tests/link_paths.rs index b851d94ac..750410de3 100644 --- a/crates/engine/src/tests_link_paths.rs +++ b/crates/engine/src/tests/link_paths.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{NodeId, NodeKind}; -use super::*; +use crate::*; use crate::cmd::fileio::touched; use crate::tests_links::{Folder, RED, place, png, session}; diff --git a/crates/engine/src/tests_linked_stops.rs b/crates/engine/src/tests/linked_stops.rs similarity index 99% rename from crates/engine/src/tests_linked_stops.rs rename to crates/engine/src/tests/linked_stops.rs index 2b0cae9e7..2f25cf83c 100644 --- a/crates/engine/src/tests_linked_stops.rs +++ b/crates/engine/src/tests/linked_stops.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, GradientPaint, GradientStop, Paint}; use vectorcraft_render::proof; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_linkfiles.rs b/crates/engine/src/tests/linkfiles.rs similarity index 100% rename from crates/engine/src/tests_linkfiles.rs rename to crates/engine/src/tests/linkfiles.rs diff --git a/crates/engine/src/tests_links.rs b/crates/engine/src/tests/links.rs similarity index 99% rename from crates/engine/src/tests_links.rs rename to crates/engine/src/tests/links.rs index 95ab45349..2ac7d5972 100644 --- a/crates/engine/src/tests_links.rs +++ b/crates/engine/src/tests/links.rs @@ -8,7 +8,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{Document, ImageObject, LinkInfo, NodeKind}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; /// A fresh folder for one test (removed when dropped). pub(crate) struct Folder(pub(crate) PathBuf); diff --git a/crates/engine/src/tests_linkspanel.rs b/crates/engine/src/tests/linkspanel.rs similarity index 99% rename from crates/engine/src/tests_linkspanel.rs rename to crates/engine/src/tests/linkspanel.rs index e00b53b8f..56c6f904e 100644 --- a/crates/engine/src/tests_linkspanel.rs +++ b/crates/engine/src/tests/linkspanel.rs @@ -4,8 +4,8 @@ use serde_json::{Value, json}; use vectorcraft_doc::{NodeKind, PlacementOptions}; -use super::tests_links::{BLUE, Folder, RED, bounds, centre_colour, image, near, open, place, png, save, session, write}; -use super::*; +use crate::tests_links::{BLUE, Folder, RED, bounds, centre_colour, image, near, open, place, png, save, session, write}; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap_or_else(|e| panic!("{id} {p}: {e}")) diff --git a/crates/engine/src/tests_linkwatch.rs b/crates/engine/src/tests/linkwatch.rs similarity index 99% rename from crates/engine/src/tests_linkwatch.rs rename to crates/engine/src/tests/linkwatch.rs index 26b9252de..027aa6898 100644 --- a/crates/engine/src/tests_linkwatch.rs +++ b/crates/engine/src/tests/linkwatch.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; use crate::tests_links::{BLUE, Folder, RED, centre_colour, place, png, session}; /// Write `bytes` to `path` so its modification time moves even on coarse file systems. diff --git a/crates/engine/src/tests_liquify.rs b/crates/engine/src/tests/liquify.rs similarity index 99% rename from crates/engine/src/tests_liquify.rs rename to crates/engine/src/tests/liquify.rs index d868d61c4..d5935bd6f 100644 --- a/crates/engine/src/tests_liquify.rs +++ b/crates/engine/src/tests/liquify.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_geom::{PathData, Point}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_live.rs b/crates/engine/src/tests/live.rs similarity index 99% rename from crates/engine/src/tests_live.rs rename to crates/engine/src/tests/live.rs index 146148dc9..408838566 100644 --- a/crates/engine/src/tests_live.rs +++ b/crates/engine/src/tests/live.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::live::{self, BlendOrientation, BlendSpacing, EnvelopeKind}; use vectorcraft_doc::{Node, NodeKind}; use vectorcraft_geom::{Point, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_livecorners.rs b/crates/engine/src/tests/livecorners.rs similarity index 99% rename from crates/engine/src/tests_livecorners.rs rename to crates/engine/src/tests/livecorners.rs index a1658be2e..ff6ca5f87 100644 --- a/crates/engine/src/tests_livecorners.rs +++ b/crates/engine/src/tests/livecorners.rs @@ -9,7 +9,7 @@ use vectorcraft_doc::{AnchorRef, LiveCorners, LiveShape, NodeKind}; use vectorcraft_geom::Affine; use vectorcraft_geom::shapes::CornerKind; -use super::*; +use crate::*; /// A 100 × 60 pt live rectangle at (10, 10), selected. fn session() -> (Session, NodeId) { diff --git a/crates/engine/src/tests_maskview.rs b/crates/engine/src/tests/maskview.rs similarity index 99% rename from crates/engine/src/tests_maskview.rs rename to crates/engine/src/tests/maskview.rs index 9f9c58fd9..e222a136d 100644 --- a/crates/engine/src/tests_maskview.rs +++ b/crates/engine/src/tests/maskview.rs @@ -5,7 +5,7 @@ use serde_json::json; use vectorcraft_geom::Affine; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; fn rect(s: &mut Session, x: f64, w: f64, fill: &str) -> NodeId { let id = NodeId(s.execute("shape.rectangle", &json!({"x": x, "y": 0, "width": w, "height": 200})).unwrap()["id"].as_u64().unwrap()); diff --git a/crates/engine/src/tests_menucmds.rs b/crates/engine/src/tests/menucmds.rs similarity index 99% rename from crates/engine/src/tests_menucmds.rs rename to crates/engine/src/tests/menucmds.rs index 8b16e00da..383fe2143 100644 --- a/crates/engine/src/tests_menucmds.rs +++ b/crates/engine/src/tests/menucmds.rs @@ -5,8 +5,8 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Appearance, ColorMode, LiveShape, Node, NodeKind, TextKind}; use vectorcraft_geom::{Rect, shapes}; -use super::tests_large_edits::{layer, run_soon, square, undo_gives_back}; -use super::*; +use crate::tests_large_edits::{layer, run_soon, square, undo_gives_back}; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -224,7 +224,7 @@ fn tiles_under_squares() -> (Session, Vec, Vec) { let (x, y) = ((t % 40) as f64 * 100.0, (t / 40) as f64 * 200.0); Rect::new(x, y, x + 100.0, y + 200.0) }; - let s = super::tests_large_edits::session(51_000, |d, k| { + let s = crate::tests_large_edits::session(51_000, |d, k| { if k < 1000 { Node::path(d.alloc_id(), shapes::rectangle(tile(k)), Appearance::default_art()) } else { square(d, k - 1000) } }); let mut tiles = layer(&s, 0); @@ -3142,7 +3142,7 @@ fn crop_image_trim_checks_the_rgba_size_before_decoding() { // 1-bit gray PNGs, header only: their samples are within the decoder's limit, and as RGBA // (4 bytes a pixel) they are just over or just within the 2 GB allowance. let trim = |w: u32, h: u32| { - let png = super::tests_linkspanel::png_header(w, h); + let png = crate::tests_linkspanel::png_header(w, h); let mut s = Session::new(); s.execute("document.open", &json!({"name": "wall.png", "dataBase64": vectorcraft_format::base64_encode(&png)})).unwrap(); s.execute("select.all", &json!({})).unwrap(); diff --git a/crates/engine/src/tests_nativefile.rs b/crates/engine/src/tests/nativefile.rs similarity index 99% rename from crates/engine/src/tests_nativefile.rs rename to crates/engine/src/tests/nativefile.rs index de547d6a4..4f67890b1 100644 --- a/crates/engine/src/tests_nativefile.rs +++ b/crates/engine/src/tests/nativefile.rs @@ -6,7 +6,7 @@ use std::path::PathBuf; use serde_json::{Value, json}; use vectorcraft_format::{is_compressed, sniff}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_newart.rs b/crates/engine/src/tests/newart.rs similarity index 99% rename from crates/engine/src/tests_newart.rs rename to crates/engine/src/tests/newart.rs index cc1ced4f7..6bc5eb48b 100644 --- a/crates/engine/src/tests_newart.rs +++ b/crates/engine/src/tests/newart.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{BlendMode, Paint}; use vectorcraft_doc::{Appearance, Dash, LineCap, Node}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_newdoc.rs b/crates/engine/src/tests/newdoc.rs similarity index 99% rename from crates/engine/src/tests_newdoc.rs rename to crates/engine/src/tests/newdoc.rs index a2f840c67..067631eec 100644 --- a/crates/engine/src/tests_newdoc.rs +++ b/crates/engine/src/tests/newdoc.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{Background, ColorMode, Unit}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; fn new_doc(p: Value) -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_objects_on_path.rs b/crates/engine/src/tests/objects_on_path.rs similarity index 99% rename from crates/engine/src/tests_objects_on_path.rs rename to crates/engine/src/tests/objects_on_path.rs index 4cd740dab..a6015b158 100644 --- a/crates/engine/src/tests_objects_on_path.rs +++ b/crates/engine/src/tests/objects_on_path.rs @@ -4,8 +4,8 @@ use serde_json::{Value, json}; use vectorcraft_geom::{Point, Rect}; -use super::tests_clip::{id_of, select}; -use super::*; +use crate::tests_clip::{id_of, select}; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_objexpand.rs b/crates/engine/src/tests/objexpand.rs similarity index 99% rename from crates/engine/src/tests_objexpand.rs rename to crates/engine/src/tests/objexpand.rs index 48435adbb..9d0c9d272 100644 --- a/crates/engine/src/tests_objexpand.rs +++ b/crates/engine/src/tests/objexpand.rs @@ -8,7 +8,7 @@ use vectorcraft_color::{BlendMode, Color, Paint}; use vectorcraft_doc::{AppearanceItem, Node, NodeKind}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_opacitymask.rs b/crates/engine/src/tests/opacitymask.rs similarity index 99% rename from crates/engine/src/tests_opacitymask.rs rename to crates/engine/src/tests/opacitymask.rs index 96a418405..f1cfc0b3d 100644 --- a/crates/engine/src/tests_opacitymask.rs +++ b/crates/engine/src/tests/opacitymask.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_geom::Affine; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; use crate::cmd::maskedit::MASK_EDIT_LAYER; use crate::tests::{history, select_with_a_step_to_redo}; diff --git a/crates/engine/src/tests_outlineobject.rs b/crates/engine/src/tests/outlineobject.rs similarity index 99% rename from crates/engine/src/tests_outlineobject.rs rename to crates/engine/src/tests/outlineobject.rs index c1ff06b53..7a411e4aa 100644 --- a/crates/engine/src/tests_outlineobject.rs +++ b/crates/engine/src/tests/outlineobject.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_doc::{Node, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_outlinestroke.rs b/crates/engine/src/tests/outlinestroke.rs similarity index 99% rename from crates/engine/src/tests_outlinestroke.rs rename to crates/engine/src/tests/outlinestroke.rs index 170f31acd..17a6b5a09 100644 --- a/crates/engine/src/tests_outlinestroke.rs +++ b/crates/engine/src/tests/outlinestroke.rs @@ -7,7 +7,7 @@ use vectorcraft_color::BlendMode; use vectorcraft_doc::{AppearanceItem, Node, NodeKind}; use vectorcraft_geom::{FillRule, PathData, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_overprint.rs b/crates/engine/src/tests/overprint.rs similarity index 99% rename from crates/engine/src/tests_overprint.rs rename to crates/engine/src/tests/overprint.rs index 78950a838..cade55db9 100644 --- a/crates/engine/src/tests_overprint.rs +++ b/crates/engine/src/tests/overprint.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::{Document, Node, NodeKind}; use vectorcraft_geom::Affine; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_package.rs b/crates/engine/src/tests/package.rs similarity index 99% rename from crates/engine/src/tests_package.rs rename to crates/engine/src/tests/package.rs index e1eacfe0a..dcf3c6217 100644 --- a/crates/engine/src/tests_package.rs +++ b/crates/engine/src/tests/package.rs @@ -6,8 +6,8 @@ use std::io::Read; use serde_json::{Value, json}; -use super::tests_links::{BLUE, Folder, RED, open, place, png, save, session, write}; -use super::*; +use crate::tests_links::{BLUE, Folder, RED, open, place, png, save, session, write}; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap_or_else(|e| panic!("{id} {p}: {e}")) diff --git a/crates/engine/src/tests_paintproxy.rs b/crates/engine/src/tests/paintproxy.rs similarity index 99% rename from crates/engine/src/tests_paintproxy.rs rename to crates/engine/src/tests/paintproxy.rs index 8893ff18c..9ddbc288e 100644 --- a/crates/engine/src/tests_paintproxy.rs +++ b/crates/engine/src/tests/paintproxy.rs @@ -5,7 +5,7 @@ use serde_json::json; use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::NodeKind; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_panelcmds.rs b/crates/engine/src/tests/panelcmds.rs similarity index 99% rename from crates/engine/src/tests_panelcmds.rs rename to crates/engine/src/tests/panelcmds.rs index 389cfc142..725bdd0b9 100644 --- a/crates/engine/src/tests_panelcmds.rs +++ b/crates/engine/src/tests/panelcmds.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_color::{Color, GradientKind, Paint}; use vectorcraft_doc::{AppearanceItem, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -272,7 +272,7 @@ fn artboard_copies_refuse_an_index_that_names_no_artboard() { /// option left out. #[test] fn artboard_commands_refuse_a_boolean_or_number_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); let r = rect(&mut s); s.execute("artboard.new", &json!({})).unwrap(); diff --git a/crates/engine/src/tests_paragraphs.rs b/crates/engine/src/tests/paragraphs.rs similarity index 99% rename from crates/engine/src/tests_paragraphs.rs rename to crates/engine/src/tests/paragraphs.rs index 3e4f24907..885806cfc 100644 --- a/crates/engine/src/tests_paragraphs.rs +++ b/crates/engine/src/tests/paragraphs.rs @@ -5,7 +5,7 @@ use serde_json::json; use vectorcraft_doc::{Justify, NodeId, NodeKind, TextObject}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_params.rs b/crates/engine/src/tests/params.rs similarity index 100% rename from crates/engine/src/tests_params.rs rename to crates/engine/src/tests/params.rs diff --git a/crates/engine/src/tests_pathops.rs b/crates/engine/src/tests/pathops.rs similarity index 99% rename from crates/engine/src/tests_pathops.rs rename to crates/engine/src/tests/pathops.rs index f85b77a06..bb62d1459 100644 --- a/crates/engine/src/tests_pathops.rs +++ b/crates/engine/src/tests/pathops.rs @@ -5,7 +5,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Appearance, NodeKind}; use vectorcraft_geom::{FillRule, PathData, Rect}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_pathtype.rs b/crates/engine/src/tests/pathtype.rs similarity index 99% rename from crates/engine/src/tests_pathtype.rs rename to crates/engine/src/tests/pathtype.rs index f48d63fd7..c80ca3236 100644 --- a/crates/engine/src/tests_pathtype.rs +++ b/crates/engine/src/tests/pathtype.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::{NodeKind, PathAlign, TextKind, TextObject}; use vectorcraft_geom::{Point, Rect, Shape}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_pattern.rs b/crates/engine/src/tests/pattern.rs similarity index 99% rename from crates/engine/src/tests_pattern.rs rename to crates/engine/src/tests/pattern.rs index 787c6ceb2..2b72f6602 100644 --- a/crates/engine/src/tests_pattern.rs +++ b/crates/engine/src/tests/pattern.rs @@ -6,8 +6,8 @@ use vectorcraft_doc::pattern::{PATTERN_EDIT_LAYER, RepeatKind, TileType}; use vectorcraft_doc::{Node, NodeKind}; use vectorcraft_geom::{Point, Rect}; -use super::tests_menucmds::place_undecodable_png; -use super::*; +use crate::tests_menucmds::place_undecodable_png; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -827,12 +827,12 @@ fn mirror_axis_drag_previews_once_and_undo_redo_preserve_source() { let axis = mirror_axis(&s); let v = ViewInfo::default(); s.select_tool("selection", v).unwrap(); - let h = super::tests::history(&s); + let h = crate::tests::history(&s); for (kind, dx) in [(PointerKind::Down, 0.0), (PointerKind::Drag, 20.0), (PointerKind::Drag, 30.0), (PointerKind::Up, 40.0)] { s.pointer(&PointerEvent::new(kind, axis.center.x + dx, axis.center.y), v).unwrap(); assert!(close(mirror_axis(&s).center, axis.center + vectorcraft_geom::Vec2::new(dx, 0.0))); } - assert_eq!(super::tests::history(&s).0, h.0 + 1); + assert_eq!(crate::tests::history(&s).0, h.0 + 1); let after = node(&s, id); let (NodeKind::Repeat(a), NodeKind::Repeat(b)) = (&before.kind, &after.kind) else { panic!() }; assert_eq!(a.source, b.source, "moving the mirror axis leaves the source artwork in place"); @@ -852,7 +852,7 @@ fn mirror_axis_rotation_snaps_and_escape_restores_document_and_history() { let v = ViewInfo::default(); s.select_tool("selection", v).unwrap(); let before = node(&s, id); - let h = super::tests::history(&s); + let h = crate::tests::history(&s); let axis = mirror_axis(&s); let end = axis.ends[1]; let destination = axis.center + vectorcraft_geom::Vec2::new(70.0, 60.0); @@ -865,15 +865,15 @@ fn mirror_axis_rotation_snaps_and_escape_restores_document_and_history() { assert!(!s.tool_busy()); s.pointer(&PointerEvent::new(PointerKind::Up, destination.x, destination.y), v).unwrap(); assert_eq!(node(&s, id), before); - assert_eq!(super::tests::history(&s), h); + assert_eq!(crate::tests::history(&s), h); // A click is not an edit, and a subsequent real drag still works after cancellation. s.pointer(&PointerEvent::new(PointerKind::Down, end.x, end.y), v).unwrap(); s.pointer(&PointerEvent::new(PointerKind::Up, end.x, end.y), v).unwrap(); - assert_eq!(super::tests::history(&s), h); + assert_eq!(crate::tests::history(&s), h); s.pointer(&PointerEvent::new(PointerKind::Down, end.x, end.y), v).unwrap(); s.pointer(&PointerEvent::new(PointerKind::Up, destination.x, destination.y).with_mods(shift), v).unwrap(); assert!((mirror_axis(&s).angle - 45.0).abs() < 1e-6); - assert_eq!(super::tests::history(&s).0, h.0 + 1); + assert_eq!(crate::tests::history(&s).0, h.0 + 1); } #[test] diff --git a/crates/engine/src/tests_pdffidelity.rs b/crates/engine/src/tests/pdffidelity.rs similarity index 99% rename from crates/engine/src/tests_pdffidelity.rs rename to crates/engine/src/tests/pdffidelity.rs index 35fe314a2..f30e3fe42 100644 --- a/crates/engine/src/tests_pdffidelity.rs +++ b/crates/engine/src/tests/pdffidelity.rs @@ -8,7 +8,7 @@ use vectorcraft_doc::{AppearanceItem, Document, Node}; use vectorcraft_geom::Rect; use vectorcraft_render::{Rendered, Renderer}; -use super::*; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap_or_else(|e| panic!("{id} {p}: {e}")) diff --git a/crates/engine/src/tests_pdfmarks.rs b/crates/engine/src/tests/pdfmarks.rs similarity index 99% rename from crates/engine/src/tests_pdfmarks.rs rename to crates/engine/src/tests/pdfmarks.rs index a9266b788..382ffd461 100644 --- a/crates/engine/src/tests_pdfmarks.rs +++ b/crates/engine/src/tests/pdfmarks.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_pdf::CropTo; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_pdfpresets.rs b/crates/engine/src/tests/pdfpresets.rs similarity index 100% rename from crates/engine/src/tests_pdfpresets.rs rename to crates/engine/src/tests/pdfpresets.rs diff --git a/crates/engine/src/tests_pdfraster.rs b/crates/engine/src/tests/pdfraster.rs similarity index 99% rename from crates/engine/src/tests_pdfraster.rs rename to crates/engine/src/tests/pdfraster.rs index 896db4eef..f6e54bd0c 100644 --- a/crates/engine/src/tests_pdfraster.rs +++ b/crates/engine/src/tests/pdfraster.rs @@ -11,7 +11,7 @@ use vectorcraft_doc::{Appearance, CharStyle, Document, Effect, ImageBlob, ImageO use vectorcraft_geom::{Affine, Point, Rect, shapes}; use vectorcraft_render::{Rendered, Renderer}; -use super::*; +use crate::*; fn shadow() -> Effect { Effect { id: "stylize.dropShadow".into(), params: json!({"x": 6.0, "y": 6.0, "blur": 3.0, "opacity": 75.0}), visible: true } diff --git a/crates/engine/src/tests_persp_planes.rs b/crates/engine/src/tests/persp_planes.rs similarity index 99% rename from crates/engine/src/tests_persp_planes.rs rename to crates/engine/src/tests/persp_planes.rs index 669fdf81e..b605b35f1 100644 --- a/crates/engine/src/tests_persp_planes.rs +++ b/crates/engine/src/tests/persp_planes.rs @@ -6,8 +6,8 @@ use vectorcraft_geom::{Point, Vec2}; use vectorcraft_tools::Mods; use vectorcraft_tools::distort::perspective::{PerspectiveGrid, Plane}; -use super::tests_persp_select::{attached, drag, grid, persp_session, plane_pts, undo_len}; -use super::*; +use crate::tests_persp_select::{attached, drag, grid, persp_session, plane_pts, undo_len}; +use crate::*; fn path(s: &Session, id: NodeId) -> vectorcraft_geom::PathData { s.doc().unwrap().doc.node(id).unwrap().path_data().unwrap().clone() diff --git a/crates/engine/src/tests_persp_select.rs b/crates/engine/src/tests/persp_select.rs similarity index 99% rename from crates/engine/src/tests_persp_select.rs rename to crates/engine/src/tests/persp_select.rs index 3c0c3de5b..b76964791 100644 --- a/crates/engine/src/tests_persp_select.rs +++ b/crates/engine/src/tests/persp_select.rs @@ -6,7 +6,7 @@ use vectorcraft_geom::{Point, Rect, Vec2}; use vectorcraft_tools::distort::perspective::{self as persp, PerspectiveGrid, Plane}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; /// An 800 × 600 document with a two-point grid and a rectangle attached to the right plane. pub(crate) fn persp_session() -> (Session, NodeId) { diff --git a/crates/engine/src/tests_persp_text.rs b/crates/engine/src/tests/persp_text.rs similarity index 99% rename from crates/engine/src/tests_persp_text.rs rename to crates/engine/src/tests/persp_text.rs index 846306fc2..91d7b70eb 100644 --- a/crates/engine/src/tests_persp_text.rs +++ b/crates/engine/src/tests/persp_text.rs @@ -8,8 +8,8 @@ use vectorcraft_geom::{Point, Rect}; use vectorcraft_tools::Mods; use vectorcraft_tools::distort::perspective::{self as persp, Plane}; -use super::tests_persp_select::{attached, drag, grid, persp_session, undo_len}; -use super::*; +use crate::tests_persp_select::{attached, drag, grid, persp_session, undo_len}; +use crate::*; /// Point type "HELLO" (48 pt) at (430, 400), attached to the right plane. fn persp_text(s: &mut Session) -> NodeId { diff --git a/crates/engine/src/tests_perspgrid.rs b/crates/engine/src/tests/perspgrid.rs similarity index 99% rename from crates/engine/src/tests_perspgrid.rs rename to crates/engine/src/tests/perspgrid.rs index 69c9c9556..b2cb7cba9 100644 --- a/crates/engine/src/tests_perspgrid.rs +++ b/crates/engine/src/tests/perspgrid.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_tools::distort::perspective::{PerspectiveGrid, Rgb}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_place.rs b/crates/engine/src/tests/place.rs similarity index 99% rename from crates/engine/src/tests_place.rs rename to crates/engine/src/tests/place.rs index bb7ac1999..1d3558eaa 100644 --- a/crates/engine/src/tests_place.rs +++ b/crates/engine/src/tests/place.rs @@ -9,7 +9,7 @@ use vectorcraft_doc::{AppearanceItem, Node, NodeKind}; use vectorcraft_geom::Rect; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -250,7 +250,7 @@ fn a_file_read_apart_from_the_session_places_as_file_place_does() { p.to_string_lossy().into_owned() }; let (pdf_path, native_path) = (saved("page.pdf", &pdf), saved("art.vectorcraft", &native)); - let words = super::tests_textimport::docx(r#"Placed words"#, super::tests_textimport::STYLES); + let words = crate::tests_textimport::docx(r#"Placed words"#, crate::tests_textimport::STYLES); let cases = [ with(file("red.png", &png(30, 20, [255, 0, 0, 255], Some(144.0))), json!({"at": [150, 100]})), with(file("notes.txt", b"Two lines\nof text"), json!({"text": {}})), diff --git a/crates/engine/src/tests_placed_document.rs b/crates/engine/src/tests/placed_document.rs similarity index 99% rename from crates/engine/src/tests_placed_document.rs rename to crates/engine/src/tests/placed_document.rs index dd9e47462..eb3164db8 100644 --- a/crates/engine/src/tests_placed_document.rs +++ b/crates/engine/src/tests/placed_document.rs @@ -8,8 +8,8 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Appearance, Document, Node, NodeKind, PlacedDocument}; use vectorcraft_geom::{Rect, shapes}; -use super::tests_links::{BLUE, Folder, RED, centre_colour, near, open, save, session, write}; -use super::*; +use crate::tests_links::{BLUE, Folder, RED, centre_colour, near, open, save, session, write}; +use crate::*; /// A VectorCraft document at `path`: one `w`×`h` artboard filled with `rgb` (and `extra` more /// rectangles, which change the file's size). @@ -75,7 +75,7 @@ fn decode(v: &Value) -> Vec { /// Images and paths in `bytes`, a PDF, read back. fn pdf_contents(bytes: &[u8]) -> (usize, usize) { // The page as drawn (not the VectorCraft document the PDF carries). - let (doc, _) = super::cmd::fileio::page_document(bytes, 0, &Default::default()).unwrap(); + let (doc, _) = crate::cmd::fileio::page_document(bytes, 0, &Default::default()).unwrap(); let (mut images, mut paths) = (0, 0); doc.walk(|n| match n.kind { NodeKind::Image(_) => images += 1, diff --git a/crates/engine/src/tests_plugins.rs b/crates/engine/src/tests/plugins.rs similarity index 99% rename from crates/engine/src/tests_plugins.rs rename to crates/engine/src/tests/plugins.rs index 685e5c3f4..e2bc451d9 100644 --- a/crates/engine/src/tests_plugins.rs +++ b/crates/engine/src/tests/plugins.rs @@ -7,10 +7,10 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_geom::{PathData, Point, SubPath}; use vectorcraft_plugins::wat as tpl; -use super::*; +use crate::*; /// The example Desaturate plug-in (built from `crates/plugins/example`). -const DESATURATE: &[u8] = include_bytes!("../../plugins/tests/fixtures/desaturate.wasm"); +const DESATURATE: &[u8] = include_bytes!("../../../plugins/tests/fixtures/desaturate.wasm"); const DESATURATE_ID: &str = "org.vectorcraft.example.desaturate"; fn run(s: &mut Session, cmd: &str, p: Value) -> Value { diff --git a/crates/engine/src/tests_prefs.rs b/crates/engine/src/tests/prefs.rs similarity index 99% rename from crates/engine/src/tests_prefs.rs rename to crates/engine/src/tests/prefs.rs index 9d2355ad2..e01df7695 100644 --- a/crates/engine/src/tests_prefs.rs +++ b/crates/engine/src/tests/prefs.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::NodeKind; use vectorcraft_tools::{PointerEvent, PointerKind}; -use super::*; +use crate::*; use crate::cmd::prefscmds::{PREF_CATEGORIES, PREF_GROUPS, PREF_SPECS, validate}; #[test] diff --git a/crates/engine/src/tests_previewbounds.rs b/crates/engine/src/tests/previewbounds.rs similarity index 99% rename from crates/engine/src/tests_previewbounds.rs rename to crates/engine/src/tests/previewbounds.rs index 95440f2ae..998f7fd14 100644 --- a/crates/engine/src/tests_previewbounds.rs +++ b/crates/engine/src/tests/previewbounds.rs @@ -9,7 +9,7 @@ use vectorcraft_doc::{Appearance, Document, Effect, Node, NodeId, NodeKind, Symb use vectorcraft_geom::{Affine, Point, Rect, shapes}; use vectorcraft_tools::{Cursor, Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_print.rs b/crates/engine/src/tests/print.rs similarity index 99% rename from crates/engine/src/tests_print.rs rename to crates/engine/src/tests/print.rs index 4ba587d45..f685e76af 100644 --- a/crates/engine/src/tests_print.rs +++ b/crates/engine/src/tests/print.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; /// A 300 × 200 RGB document with a rectangle; and the rectangle's id. fn session() -> (Session, u64) { diff --git a/crates/engine/src/tests_printadvanced.rs b/crates/engine/src/tests/printadvanced.rs similarity index 95% rename from crates/engine/src/tests_printadvanced.rs rename to crates/engine/src/tests/printadvanced.rs index e716d627b..99cfcd373 100644 --- a/crates/engine/src/tests_printadvanced.rs +++ b/crates/engine/src/tests/printadvanced.rs @@ -7,7 +7,7 @@ use vectorcraft_geom::Rect; use vectorcraft_pdf::PrintSettings; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; /// A 200 × 100 CMYK document: a cyan square under a yellow one whose fill overprints, and a /// half-transparent magenta one; their ids. @@ -84,11 +84,11 @@ fn a_flattener_preset_flattens_transparency_before_printing() { any }; assert!(transparent(doc(&s))); - let none = super::cmd::printadvanced::prepare("file.print", doc(&s), &settings(json!({})), &saved, false).unwrap(); + let none = crate::cmd::printadvanced::prepare("file.print", doc(&s), &settings(json!({})), &saved, false).unwrap(); assert!(none.is_none(), "transparency prints live without a preset"); for name in ["High Resolution", "low"] { let set = settings(json!({"advanced": {"flattenerPreset": name}})); - let flat = super::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().unwrap(); + let flat = crate::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().unwrap(); assert!(!transparent(&flat), "{name}: flattened"); } // A saved preset by name; an unknown one is refused by preview and print alike. @@ -105,7 +105,7 @@ fn print_as_bitmap_prints_an_image_of_each_artboard() { s.execute("artboard.new", &json!({"x": 300, "y": 0, "width": 200, "height": 100})).unwrap(); let saved = s.prefs.flattener_presets.clone(); let set = settings(json!({"advanced": {"printAsBitmap": true}})); - let bitmap = super::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().unwrap(); + let bitmap = crate::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().unwrap(); let mut kinds = vec![]; bitmap.walk(|n| kinds.push(matches!(n.kind, NodeKind::Image(_)))); assert_eq!(kinds.iter().filter(|k| **k).count(), 1, "one image: the empty artboard gets none"); @@ -127,7 +127,7 @@ fn print_as_bitmap_prints_an_image_of_each_artboard() { let pv = s.execute("print.preview", &seps).unwrap(); assert!(pv["warnings"].as_array().unwrap().iter().any(|w| w.as_str().unwrap().contains("Print as Bitmap"))); let set = settings(seps["settings"].clone()); - assert!(super::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().is_none()); + assert!(crate::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().is_none()); } /// Appearance of Black › Printing / Exporting (#394): Print as Bitmap draws pure CMYK black as RGB @@ -152,8 +152,8 @@ fn print_as_bitmap_honours_rich_black() { let img = image::load_from_memory(bytes).unwrap().to_rgba8(); img.get_pixel(img.width() / 2, img.height() / 2).0 }; - let accurate = centre(&super::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().unwrap()); + let accurate = centre(&crate::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, false).unwrap().unwrap()); assert!(accurate[0] > 10, "accurate: dark grey, {accurate:?}"); - let rich = centre(&super::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, true).unwrap().unwrap()); + let rich = centre(&crate::cmd::printadvanced::prepare("file.print", doc(&s), &set, &saved, true).unwrap().unwrap()); assert_eq!(rich, [0, 0, 0, 255], "rich: RGB black"); } diff --git a/crates/engine/src/tests_printpresets.rs b/crates/engine/src/tests/printpresets.rs similarity index 99% rename from crates/engine/src/tests_printpresets.rs rename to crates/engine/src/tests/printpresets.rs index fafa25cb5..6323cda40 100644 --- a/crates/engine/src/tests_printpresets.rs +++ b/crates/engine/src/tests/printpresets.rs @@ -3,7 +3,7 @@ use serde_json::json; -use super::*; +use crate::*; use crate::cmd::printpresets::DEFAULT_PRESET; fn is_bad_params(r: Result) -> bool { diff --git a/crates/engine/src/tests_printpreview.rs b/crates/engine/src/tests/printpreview.rs similarity index 99% rename from crates/engine/src/tests_printpreview.rs rename to crates/engine/src/tests/printpreview.rs index 88ebdb627..d6a4482b3 100644 --- a/crates/engine/src/tests_printpreview.rs +++ b/crates/engine/src/tests/printpreview.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; /// `print.preview {settings}`'s first page. fn first_sheet(s: &mut Session, settings: Value) -> Value { diff --git a/crates/engine/src/tests_printps.rs b/crates/engine/src/tests/printps.rs similarity index 99% rename from crates/engine/src/tests_printps.rs rename to crates/engine/src/tests/printps.rs index 57cfbc901..ad83ade90 100644 --- a/crates/engine/src/tests_printps.rs +++ b/crates/engine/src/tests/printps.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; /// A document of `artboards` 300 × 200 artboards with a rectangle on the first. fn session(artboards: usize) -> Session { diff --git a/crates/engine/src/tests_printtiling.rs b/crates/engine/src/tests/printtiling.rs similarity index 99% rename from crates/engine/src/tests_printtiling.rs rename to crates/engine/src/tests/printtiling.rs index 3df7c1298..6b15284c0 100644 --- a/crates/engine/src/tests_printtiling.rs +++ b/crates/engine/src/tests/printtiling.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_tools::{PointerEvent, PointerKind}; -use super::*; +use crate::*; use crate::tooling::ViewInfo; /// A 300 × 200 document with a rectangle. diff --git a/crates/engine/src/tests_proxyitems.rs b/crates/engine/src/tests/proxyitems.rs similarity index 99% rename from crates/engine/src/tests_proxyitems.rs rename to crates/engine/src/tests/proxyitems.rs index 4ce73602f..22c4d0bca 100644 --- a/crates/engine/src/tests_proxyitems.rs +++ b/crates/engine/src/tests/proxyitems.rs @@ -7,7 +7,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Appearance, Node}; use vectorcraft_geom::PathData; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_puppetwarp.rs b/crates/engine/src/tests/puppetwarp.rs similarity index 99% rename from crates/engine/src/tests_puppetwarp.rs rename to crates/engine/src/tests/puppetwarp.rs index 6730b5464..54223dda7 100644 --- a/crates/engine/src/tests_puppetwarp.rs +++ b/crates/engine/src/tests/puppetwarp.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_geom::{Point, Rect}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_rasterfilters.rs b/crates/engine/src/tests/rasterfilters.rs similarity index 99% rename from crates/engine/src/tests_rasterfilters.rs rename to crates/engine/src/tests/rasterfilters.rs index 45ead1054..236580d5b 100644 --- a/crates/engine/src/tests_rasterfilters.rs +++ b/crates/engine/src/tests/rasterfilters.rs @@ -9,7 +9,7 @@ use vectorcraft_doc::NodeKind; use vectorcraft_geom::Rect; use vectorcraft_render::{Rendered, Renderer}; -use super::*; +use crate::*; /// The new effects with parameters that change a striped square visibly. const EFFECTS: [(&str, &str); 3] = [ diff --git a/crates/engine/src/tests_rastersettings.rs b/crates/engine/src/tests/rastersettings.rs similarity index 99% rename from crates/engine/src/tests_rastersettings.rs rename to crates/engine/src/tests/rastersettings.rs index 7b0d61b32..b3f1cf50b 100644 --- a/crates/engine/src/tests_rastersettings.rs +++ b/crates/engine/src/tests/rastersettings.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::rastersettings::MAX_ADD_AROUND; use vectorcraft_doc::{Background, Document, NodeId, NodeKind, RasterColorModel, RasterEffectsSettings}; -use super::*; +use crate::*; const C: &str = "document.rasterEffectsSettings"; diff --git a/crates/engine/src/tests_recolor.rs b/crates/engine/src/tests/recolor.rs similarity index 99% rename from crates/engine/src/tests_recolor.rs rename to crates/engine/src/tests/recolor.rs index af53f15ec..86af2b73b 100644 --- a/crates/engine/src/tests_recolor.rs +++ b/crates/engine/src/tests/recolor.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_color::Color; -use super::*; +use crate::*; use crate::cmd::color_value; fn session() -> Session { diff --git a/crates/engine/src/tests_recovery.rs b/crates/engine/src/tests/recovery.rs similarity index 99% rename from crates/engine/src/tests_recovery.rs rename to crates/engine/src/tests/recovery.rs index 2826e250c..d4354620c 100644 --- a/crates/engine/src/tests_recovery.rs +++ b/crates/engine/src/tests/recovery.rs @@ -7,7 +7,7 @@ use std::sync::Arc; use serde_json::json; -use super::*; +use crate::*; use crate::cmd::recovery::{FolderStore, MemoryStore, RecoveryStore}; /// A session keeping its copies in `store`, with one modified document. diff --git a/crates/engine/src/tests_reflecthit.rs b/crates/engine/src/tests/reflecthit.rs similarity index 99% rename from crates/engine/src/tests_reflecthit.rs rename to crates/engine/src/tests/reflecthit.rs index 89d1c3272..5f12a00d4 100644 --- a/crates/engine/src/tests_reflecthit.rs +++ b/crates/engine/src/tests/reflecthit.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_geom::Point; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_registration.rs b/crates/engine/src/tests/registration.rs similarity index 99% rename from crates/engine/src/tests_registration.rs rename to crates/engine/src/tests/registration.rs index 9b539f473..07a5dfa9b 100644 --- a/crates/engine/src/tests_registration.rs +++ b/crates/engine/src/tests/registration.rs @@ -9,7 +9,7 @@ use vectorcraft_geom::Affine; use vectorcraft_render::proof::ProofSetup; use vectorcraft_render::{RenderOptions, Renderer}; -use super::*; +use crate::*; use crate::tests_colormgmt::GLOBAL; fn session() -> Session { diff --git a/crates/engine/src/tests_save.rs b/crates/engine/src/tests/save.rs similarity index 99% rename from crates/engine/src/tests_save.rs rename to crates/engine/src/tests/save.rs index 12fc74136..4f2baa6d2 100644 --- a/crates/engine/src/tests_save.rs +++ b/crates/engine/src/tests/save.rs @@ -7,7 +7,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::SavedView; use vectorcraft_geom::Point; -use super::*; +use crate::*; use crate::cmd::fileio::{SaveMode, save_plan}; fn session() -> Session { diff --git a/crates/engine/src/tests_saveoptions.rs b/crates/engine/src/tests/saveoptions.rs similarity index 99% rename from crates/engine/src/tests_saveoptions.rs rename to crates/engine/src/tests/saveoptions.rs index ff14cf698..b30e3fb27 100644 --- a/crates/engine/src/tests_saveoptions.rs +++ b/crates/engine/src/tests/saveoptions.rs @@ -6,7 +6,7 @@ use std::sync::Arc; use serde_json::{Value, json}; use vectorcraft_color::cms; -use super::*; +use crate::*; use crate::tests_links::{Folder, png}; /// Three artboards (named A, B and C) with a rectangle on each. diff --git a/crates/engine/src/tests_scalestrokes.rs b/crates/engine/src/tests/scalestrokes.rs similarity index 99% rename from crates/engine/src/tests_scalestrokes.rs rename to crates/engine/src/tests/scalestrokes.rs index 361636001..d03a9ebf8 100644 --- a/crates/engine/src/tests_scalestrokes.rs +++ b/crates/engine/src/tests/scalestrokes.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{LiveShape, Node, NodeId, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_scripts.rs b/crates/engine/src/tests/scripts.rs similarity index 99% rename from crates/engine/src/tests_scripts.rs rename to crates/engine/src/tests/scripts.rs index 44341f2bc..5f620b251 100644 --- a/crates/engine/src/tests_scripts.rs +++ b/crates/engine/src/tests/scripts.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; fn check(p: Value) -> Value { Session::new().execute("script.check", &p).unwrap_or_else(|e| panic!("script.check {p}: {e}")) diff --git a/crates/engine/src/tests_select_ids_first.rs b/crates/engine/src/tests/select_ids_first.rs similarity index 99% rename from crates/engine/src/tests_select_ids_first.rs rename to crates/engine/src/tests/select_ids_first.rs index 3df8d37e6..442b1c0f3 100644 --- a/crates/engine/src/tests_select_ids_first.rs +++ b/crates/engine/src/tests/select_ids_first.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; /// Three rectangles and an ellipse, nothing selected → the session and their ids. fn doc() -> (Session, Vec) { diff --git a/crates/engine/src/tests_shaper.rs b/crates/engine/src/tests/shaper.rs similarity index 99% rename from crates/engine/src/tests_shaper.rs rename to crates/engine/src/tests/shaper.rs index 16c7c8b96..c0b4ad888 100644 --- a/crates/engine/src/tests_shaper.rs +++ b/crates/engine/src/tests/shaper.rs @@ -1,4 +1,4 @@ -use super::*; +use crate::*; use serde_json::json; use vectorcraft_doc::shaper::{FILL_PREFIX, SOURCES, STROKE_PREFIX}; use vectorcraft_doc::{LiveShape, Node}; diff --git a/crates/engine/src/tests_shortcutset.rs b/crates/engine/src/tests/shortcutset.rs similarity index 99% rename from crates/engine/src/tests_shortcutset.rs rename to crates/engine/src/tests/shortcutset.rs index 7768baa88..bdb298bc1 100644 --- a/crates/engine/src/tests_shortcutset.rs +++ b/crates/engine/src/tests/shortcutset.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; use crate::cmd::importmatches; use crate::cmd::shortcutset::{KysEntry, NOT_READABLE, read_kys}; diff --git a/crates/engine/src/tests_simplify_part.rs b/crates/engine/src/tests/simplify_part.rs similarity index 99% rename from crates/engine/src/tests_simplify_part.rs rename to crates/engine/src/tests/simplify_part.rs index 4f600f68a..12f333059 100644 --- a/crates/engine/src/tests_simplify_part.rs +++ b/crates/engine/src/tests/simplify_part.rs @@ -10,7 +10,7 @@ use vectorcraft_doc::NodeKind; use vectorcraft_geom::kurbo::ParamCurveNearest; use vectorcraft_geom::{ParamCurve, PathData, SubPath}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_slices.rs b/crates/engine/src/tests/slices.rs similarity index 99% rename from crates/engine/src/tests_slices.rs rename to crates/engine/src/tests/slices.rs index 227eb011a..f14e878d3 100644 --- a/crates/engine/src/tests_slices.rs +++ b/crates/engine/src/tests/slices.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::SliceKind; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_smartguides.rs b/crates/engine/src/tests/smartguides.rs similarity index 99% rename from crates/engine/src/tests_smartguides.rs rename to crates/engine/src/tests/smartguides.rs index b06b33be6..ee8579626 100644 --- a/crates/engine/src/tests_smartguides.rs +++ b/crates/engine/src/tests/smartguides.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::NodeId; use vectorcraft_geom::{Point, Rect}; use vectorcraft_tools::{Mods, Overlay, PointerEvent, PointerKind}; -use super::*; +use crate::*; use crate::tooling::ViewInfo; /// An 800 × 600 document with a 100 × 100 square at (100, 100), nothing selected. diff --git a/crates/engine/src/tests_store.rs b/crates/engine/src/tests/store.rs similarity index 100% rename from crates/engine/src/tests_store.rs rename to crates/engine/src/tests/store.rs diff --git a/crates/engine/src/tests_strokegeom.rs b/crates/engine/src/tests/strokegeom.rs similarity index 99% rename from crates/engine/src/tests_strokegeom.rs rename to crates/engine/src/tests/strokegeom.rs index ee43644c4..f7500af35 100644 --- a/crates/engine/src/tests_strokegeom.rs +++ b/crates/engine/src/tests/strokegeom.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_doc::{ArrowAlign, StrokeLayer, WidthProfile}; -use super::*; +use crate::*; fn session_with_line() -> (Session, NodeId) { let mut s = Session::new(); diff --git a/crates/engine/src/tests_strokegradient.rs b/crates/engine/src/tests/strokegradient.rs similarity index 99% rename from crates/engine/src/tests_strokegradient.rs rename to crates/engine/src/tests/strokegradient.rs index c9c0a4e1d..e147c387f 100644 --- a/crates/engine/src/tests_strokegradient.rs +++ b/crates/engine/src/tests/strokegradient.rs @@ -7,7 +7,7 @@ use vectorcraft_doc::{Document, NodeKind, StrokeGradientMode}; use vectorcraft_geom::Rect; use vectorcraft_render::{Rendered, Renderer}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_strokereach.rs b/crates/engine/src/tests/strokereach.rs similarity index 99% rename from crates/engine/src/tests_strokereach.rs rename to crates/engine/src/tests/strokereach.rs index 9db74845c..1154073a3 100644 --- a/crates/engine/src/tests_strokereach.rs +++ b/crates/engine/src/tests/strokereach.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_tools::{PointerEvent, PointerKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_strokeux.rs b/crates/engine/src/tests/strokeux.rs similarity index 99% rename from crates/engine/src/tests_strokeux.rs rename to crates/engine/src/tests/strokeux.rs index 8effa2844..82d3aae69 100644 --- a/crates/engine/src/tests_strokeux.rs +++ b/crates/engine/src/tests/strokeux.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{NodeId, NodeKind, Unit}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_stylelib.rs b/crates/engine/src/tests/stylelib.rs similarity index 99% rename from crates/engine/src/tests_stylelib.rs rename to crates/engine/src/tests/stylelib.rs index 072668a68..2c3a4c6fb 100644 --- a/crates/engine/src/tests_stylelib.rs +++ b/crates/engine/src/tests/stylelib.rs @@ -8,7 +8,7 @@ use vectorcraft_color::{Paint, Swatch}; use vectorcraft_doc::{GraphicStyle, Node, NodeId, PatternDef}; use vectorcraft_geom::{Point, Rect, shapes}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_stylepanel.rs b/crates/engine/src/tests/stylepanel.rs similarity index 99% rename from crates/engine/src/tests_stylepanel.rs rename to crates/engine/src/tests/stylepanel.rs index 81a165d1e..d414dcbb6 100644 --- a/crates/engine/src/tests_stylepanel.rs +++ b/crates/engine/src/tests/stylepanel.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{BlendMode, Color, Paint}; use vectorcraft_doc::{GraphicStyle, NodeId, NodeKind}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_styles.rs b/crates/engine/src/tests/styles.rs similarity index 99% rename from crates/engine/src/tests_styles.rs rename to crates/engine/src/tests/styles.rs index 2a8a379c8..679186332 100644 --- a/crates/engine/src/tests_styles.rs +++ b/crates/engine/src/tests/styles.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{BlendMode, Color, Paint}; use vectorcraft_doc::{GraphicStyle, Knockout, Node}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_swatchcmds.rs b/crates/engine/src/tests/swatchcmds.rs similarity index 99% rename from crates/engine/src/tests_swatchcmds.rs rename to crates/engine/src/tests/swatchcmds.rs index d62543173..b0d0edf86 100644 --- a/crates/engine/src/tests_swatchcmds.rs +++ b/crates/engine/src/tests/swatchcmds.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::Paint; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -315,7 +315,7 @@ fn the_swatch_commands_refuse_a_keep_model_given_as_text() { /// undo history stay as they were. True, false, numbers and null still work. #[test] fn the_swatch_commands_refuse_a_boolean_or_number_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); run(&mut s, "shape.rectangle", json!({"x": 10, "y": 10, "width": 20, "height": 20})); run(&mut s, "paint.setFill", json!({"color": "#3366cc"})); diff --git a/crates/engine/src/tests_swatches.rs b/crates/engine/src/tests/swatches.rs similarity index 99% rename from crates/engine/src/tests_swatches.rs rename to crates/engine/src/tests/swatches.rs index 27b949aa1..031b5026d 100644 --- a/crates/engine/src/tests_swatches.rs +++ b/crates/engine/src/tests/swatches.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Paint}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_swatchlib.rs b/crates/engine/src/tests/swatchlib.rs similarity index 99% rename from crates/engine/src/tests_swatchlib.rs rename to crates/engine/src/tests/swatchlib.rs index 7b17fa586..90425c9dd 100644 --- a/crates/engine/src/tests_swatchlib.rs +++ b/crates/engine/src/tests/swatchlib.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Paint}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_symbolbounds.rs b/crates/engine/src/tests/symbolbounds.rs similarity index 99% rename from crates/engine/src/tests_symbolbounds.rs rename to crates/engine/src/tests/symbolbounds.rs index 12dfb03a3..5b1c3f2c5 100644 --- a/crates/engine/src/tests_symbolbounds.rs +++ b/crates/engine/src/tests/symbolbounds.rs @@ -11,7 +11,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Appearance, Document, Effect, Node, NodeId, NodeKind, Symbol}; use vectorcraft_geom::{Affine, Point, Rect, shapes}; -use super::*; +use crate::*; /// The symbol of the SVG import tests: a circle of radius 4 around (5, 5) with a 2 pt stroke, and /// an instance of it at x 80. diff --git a/crates/engine/src/tests_symbollib.rs b/crates/engine/src/tests/symbollib.rs similarity index 99% rename from crates/engine/src/tests_symbollib.rs rename to crates/engine/src/tests/symbollib.rs index eed7229ef..226fe830a 100644 --- a/crates/engine/src/tests_symbollib.rs +++ b/crates/engine/src/tests/symbollib.rs @@ -6,7 +6,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{NodeId, NodeKind, SymbolRegistration}; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_targeting.rs b/crates/engine/src/tests/targeting.rs similarity index 99% rename from crates/engine/src/tests_targeting.rs rename to crates/engine/src/tests/targeting.rs index 82abd73ee..74a9ca795 100644 --- a/crates/engine/src/tests_targeting.rs +++ b/crates/engine/src/tests/targeting.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{BlendMode, Paint}; use vectorcraft_doc::Node; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_textcombos.rs b/crates/engine/src/tests/textcombos.rs similarity index 99% rename from crates/engine/src/tests_textcombos.rs rename to crates/engine/src/tests/textcombos.rs index 5b3c89b47..c0f3ad5ff 100644 --- a/crates/engine/src/tests_textcombos.rs +++ b/crates/engine/src/tests/textcombos.rs @@ -8,7 +8,7 @@ use vectorcraft_doc::text::INLINE_CHAR; use vectorcraft_doc::{AreaFit, Composer, Justify, NodeKind, TextKind, TextObject, VerticalAlign}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; const STORY: &str = "The quick brown fox jumps over the lazy dog. A second sentence follows the first one here. Then a third one ends it."; diff --git a/crates/engine/src/tests_textedit.rs b/crates/engine/src/tests/textedit.rs similarity index 99% rename from crates/engine/src/tests_textedit.rs rename to crates/engine/src/tests/textedit.rs index 0b8843a31..26efb53f9 100644 --- a/crates/engine/src/tests_textedit.rs +++ b/crates/engine/src/tests/textedit.rs @@ -6,7 +6,7 @@ use vectorcraft_doc::{NodeId, NodeKind, TextKind, TextObject}; use vectorcraft_geom::Point; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::*; +use crate::*; fn session() -> Session { // Type placed by the Type tools starts empty (Fill New Type Objects With Placeholder Text off). @@ -117,7 +117,7 @@ fn set_range_style_defaults_to_all_text_and_get_range() { /// false, numbers and null still work. #[test] fn type_commands_refuse_a_number_or_boolean_given_as_text() { - use super::tests::{not_a_number, not_a_switch, not_refused}; + use crate::tests::{not_a_number, not_a_switch, not_refused}; let mut s = session(); let id = text(&mut s, "abc"); let frame = s.execute("shape.rectangle", &json!({"x": 300, "y": 300, "width": 100, "height": 50})).unwrap()["id"].clone(); diff --git a/crates/engine/src/tests_textimport.rs b/crates/engine/src/tests/textimport.rs similarity index 99% rename from crates/engine/src/tests_textimport.rs rename to crates/engine/src/tests/textimport.rs index 90d95df15..d87909bba 100644 --- a/crates/engine/src/tests_textimport.rs +++ b/crates/engine/src/tests/textimport.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{NodeKind, TextKind}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_tileedge.rs b/crates/engine/src/tests/tileedge.rs similarity index 99% rename from crates/engine/src/tests_tileedge.rs rename to crates/engine/src/tests/tileedge.rs index c68650522..eab7018cc 100644 --- a/crates/engine/src/tests_tileedge.rs +++ b/crates/engine/src/tests/tileedge.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::pattern::PatternDef; -use super::*; +use crate::*; fn run(s: &mut Session, id: &str, p: Value) -> Value { s.execute(id, &p).unwrap_or_else(|e| panic!("{id} {p}: {e}")) diff --git a/crates/engine/src/tests_tints.rs b/crates/engine/src/tests/tints.rs similarity index 99% rename from crates/engine/src/tests_tints.rs rename to crates/engine/src/tests/tints.rs index caf99043f..25d4cb0d4 100644 --- a/crates/engine/src/tests_tints.rs +++ b/crates/engine/src/tests/tints.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_color::{Color, Paint}; use vectorcraft_render::proof; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_toolsettings.rs b/crates/engine/src/tests/toolsettings.rs similarity index 99% rename from crates/engine/src/tests_toolsettings.rs rename to crates/engine/src/tests/toolsettings.rs index 49b930af4..7584aa9cb 100644 --- a/crates/engine/src/tests_toolsettings.rs +++ b/crates/engine/src/tests/toolsettings.rs @@ -2,7 +2,7 @@ use serde_json::json; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_transformfx.rs b/crates/engine/src/tests/transformfx.rs similarity index 99% rename from crates/engine/src/tests_transformfx.rs rename to crates/engine/src/tests/transformfx.rs index 7fdda3928..29ecbffcd 100644 --- a/crates/engine/src/tests_transformfx.rs +++ b/crates/engine/src/tests/transformfx.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::Node; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_transparencygrid.rs b/crates/engine/src/tests/transparencygrid.rs similarity index 98% rename from crates/engine/src/tests_transparencygrid.rs rename to crates/engine/src/tests/transparencygrid.rs index 80e104910..974fb0343 100644 --- a/crates/engine/src/tests_transparencygrid.rs +++ b/crates/engine/src/tests/transparencygrid.rs @@ -2,7 +2,7 @@ use serde_json::json; -use super::*; +use crate::*; #[test] fn transparency_grid_is_per_document_view_state() { diff --git a/crates/engine/src/tests_trap.rs b/crates/engine/src/tests/trap.rs similarity index 99% rename from crates/engine/src/tests_trap.rs rename to crates/engine/src/tests/trap.rs index 87fb92a6f..b2ae09908 100644 --- a/crates/engine/src/tests_trap.rs +++ b/crates/engine/src/tests/trap.rs @@ -5,7 +5,7 @@ use vectorcraft_color::{Color, Paint}; use vectorcraft_doc::{Node, NodeKind}; use vectorcraft_geom::Rect; -use super::*; +use crate::*; const YELLOW: Color = Color::Cmyk { c: 0.0, m: 0.0, y: 1.0, k: 0.0 }; const BLUE: Color = Color::Cmyk { c: 1.0, m: 0.6, y: 0.0, k: 0.0 }; diff --git a/crates/engine/src/tests_typearea.rs b/crates/engine/src/tests/typearea.rs similarity index 99% rename from crates/engine/src/tests_typearea.rs rename to crates/engine/src/tests/typearea.rs index cf17edc67..370a7bc2b 100644 --- a/crates/engine/src/tests_typearea.rs +++ b/crates/engine/src/tests/typearea.rs @@ -9,7 +9,7 @@ use vectorcraft_text::TextLayout; use vectorcraft_tools::bbox::Handle; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; const STORY: &str = "The quick brown fox jumps over the lazy dog. A second sentence follows the first one here. Then a third one ends it."; diff --git a/crates/engine/src/tests_typescale.rs b/crates/engine/src/tests/typescale.rs similarity index 99% rename from crates/engine/src/tests_typescale.rs rename to crates/engine/src/tests/typescale.rs index c05326861..ad2bd1eaa 100644 --- a/crates/engine/src/tests_typescale.rs +++ b/crates/engine/src/tests/typescale.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::{NodeId, NodeKind, TextObject}; use vectorcraft_geom::Point; -use super::*; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_units.rs b/crates/engine/src/tests/units.rs similarity index 99% rename from crates/engine/src/tests_units.rs rename to crates/engine/src/tests/units.rs index b0df220a4..7cf5be9af 100644 --- a/crates/engine/src/tests_units.rs +++ b/crates/engine/src/tests/units.rs @@ -6,7 +6,7 @@ use serde_json::json; use vectorcraft_doc::Unit; use vectorcraft_tools::{Mods, Overlay, PointerEvent, PointerKind}; -use super::*; +use crate::*; use crate::cmd::prefscmds::{PREF_SPECS, PrefKind, UNITS}; use crate::units::Measure; diff --git a/crates/engine/src/tests_variables.rs b/crates/engine/src/tests/variables.rs similarity index 99% rename from crates/engine/src/tests_variables.rs rename to crates/engine/src/tests/variables.rs index cae174ce5..281d57515 100644 --- a/crates/engine/src/tests_variables.rs +++ b/crates/engine/src/tests/variables.rs @@ -4,8 +4,8 @@ use serde_json::{Value, json}; use vectorcraft_doc::NodeId; -use super::tests_links::{BLUE, Folder, RED, bounds, image, place, png, write}; -use super::*; +use crate::tests_links::{BLUE, Folder, RED, bounds, image, place, png, write}; +use crate::*; fn session() -> Session { let mut s = Session::new(); diff --git a/crates/engine/src/tests_webexport.rs b/crates/engine/src/tests/webexport.rs similarity index 99% rename from crates/engine/src/tests_webexport.rs rename to crates/engine/src/tests/webexport.rs index bbf4db2e1..761d5d42e 100644 --- a/crates/engine/src/tests_webexport.rs +++ b/crates/engine/src/tests/webexport.rs @@ -3,7 +3,7 @@ use serde_json::{Value, json}; -use super::*; +use crate::*; /// The default settings as JSON. fn defaults() -> Value { diff --git a/crates/engine/src/tests_widthpoints.rs b/crates/engine/src/tests/widthpoints.rs similarity index 99% rename from crates/engine/src/tests_widthpoints.rs rename to crates/engine/src/tests/widthpoints.rs index e9f50328b..786f3b539 100644 --- a/crates/engine/src/tests_widthpoints.rs +++ b/crates/engine/src/tests/widthpoints.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_tools::{Mods, PointerEvent, PointerKind}; -use super::*; +use crate::*; /// A horizontal line from (20, 100) to (180, 100), 10 pt black stroke. fn line_session() -> (Session, NodeId) { diff --git a/crates/engine/src/tests_widthprofiles.rs b/crates/engine/src/tests/widthprofiles.rs similarity index 99% rename from crates/engine/src/tests_widthprofiles.rs rename to crates/engine/src/tests/widthprofiles.rs index 65af9c6fe..fe041dae4 100644 --- a/crates/engine/src/tests_widthprofiles.rs +++ b/crates/engine/src/tests/widthprofiles.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; use vectorcraft_doc::WidthProfile; -use super::*; +use crate::*; fn session_with_line() -> (Session, NodeId) { let mut s = Session::new(); diff --git a/crates/engine/src/tests_widthtool.rs b/crates/engine/src/tests/widthtool.rs similarity index 99% rename from crates/engine/src/tests_widthtool.rs rename to crates/engine/src/tests/widthtool.rs index 53be26b35..fda761de6 100644 --- a/crates/engine/src/tests_widthtool.rs +++ b/crates/engine/src/tests/widthtool.rs @@ -4,7 +4,7 @@ use serde_json::json; use vectorcraft_tools::{PointerEvent, PointerKind}; -use super::*; +use crate::*; /// Two 200 pt lines made into a compound path with a 10 pt stroke → (compound, members). fn compound() -> (Session, NodeId, Vec) { diff --git a/crates/engine/src/tests_xform.rs b/crates/engine/src/tests/xform.rs similarity index 99% rename from crates/engine/src/tests_xform.rs rename to crates/engine/src/tests/xform.rs index e97d261bd..eb503cce9 100644 --- a/crates/engine/src/tests_xform.rs +++ b/crates/engine/src/tests/xform.rs @@ -7,9 +7,9 @@ use vectorcraft_geom::{Point, Rect, Vec2, shapes}; use vectorcraft_tools::distort::perspective::{self as persp, Plane}; use vectorcraft_tools::{Mods, PointerEvent, PointerKind, ToolKey}; -use super::tests_large_edits::{soon, undo_gives_back}; -use super::tests_persp_select::{bounds_of, grid, persp_session, plane_pts}; -use super::*; +use crate::tests_large_edits::{soon, undo_gives_back}; +use crate::tests_persp_select::{bounds_of, grid, persp_session, plane_pts}; +use crate::*; fn session() -> Session { let mut s = Session::new(); @@ -415,7 +415,7 @@ fn alt_drag_in_perspective_of_30000_objects_finishes_within_20_s() { Node::path(d.alloc_id(), shapes::rectangle(Rect::new(x, y, x + 6.0, y + 6.0)), Appearance::default_art()) }; let in_perspective = || { - let mut s = super::tests_large_edits::session(30_000, on_the_left); + let mut s = crate::tests_large_edits::session(30_000, on_the_left); s.execute("perspective.grid.preset", &json!({"kind": 2})).unwrap(); s.execute("perspective.attach", &json!({"plane": "left"})).unwrap(); s