Add quick test runner - #9743
Conversation
✅ Deploy Preview for tiddlywiki-previews ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Confirmed: pmario has already signed the Contributor License Agreement (see contributing.md) |
|
|
|
@Jermolene ... Can you please merge this one. I need it to start quick tests on Windows. Running Jasmine tests even if only 1 test file is selected needs about 80 seconds for me. |
|
Thanks @pmario
What is the motivation for this change? |
|
@Jermolene ... On Windows the Node.js startup is slow. So a full test on my PC needs about 75 seconds. If I do create new tests it's needed to test several times. So running the full test suite again and again is a huge time sink. The quick-test.js allows us to run selected tests, which is faster. See the output of a full Jasmine test-run below: I know it's possible to select single tests with Jasmine. But it still touches every test, which needs the same time. |
|
Thanks @pmario. I understand the motivation for the PR, my question was more specific: why is |
|
Ahhh, There must have been a reason, but I can not remember it anymore. I think it is, because it is a /test-spec which imo should be part of the edition instead of the plugin. I can move it back, if you want. |
|
@Jermolene ... I did move run-wiki-based-tests.js back to its original path |
|
@Jermolene .. To make it easier for me to review the existing wikitext-serializer plugin test, it would be nice if this PR would be merged. It's dev tooling. So it does not cause any harm for users. See: Fix serializing inline code containing backticks #9899 |
|
Thanks @pmario |
* Update license date * Try increasing Firefox timeout because of build errors * Add/update translations to Polish language: (TiddlyWiki#9829) - 0e765bd - 9c09841 - 33b2f51 - cd8b1fa - 0177f09 - b673651 - 9afe522 * [ja_JP] Update of Japanese translations (TiddlyWiki#9853) * [ja_JP] Japanese translation update from commit: 3ed481b * [ja_JP] Japanese translation update from commit: ad3587b * [ja_JP] Japanese translation update from commit: 6bc77cf * [ja_JP] Japanese translation update from commit: 5d1c1ea, c4991a5 * [ja_JP] Japanese translation update from commit: 37a4613 * [ja_JP] Japanese translation update from commit: 748ef8a * [ja_JP] Japanese translation update from commit: 92caa73 * [ja_JP] Japanese translation update from commit: 87ba87b * [ja_JP] Japanese translation update from commit: 15ba415 * [ja_JP] Japanese translation update from commit: 64ee20e * [ja_JP] Japanese translation update from commit: 5d1c1ea,add3d42 * [ja_JP] Japanese translation update from commit: 64ee20e * [ja_JP] Japanese translation update from commit: b001333 * [ja_JP] Japanese translation update from commit: b434b9d * [ja_JP] Japanese translation update from commit: 3983086 * Update playwright.config.js to address build failures * Revert "[ja_JP] Update of Japanese translations (TiddlyWiki#9853)" Reverting as was inadvertently merged to tiddlywiki-com This reverts commit 14b1157. * playwright: increase timeout to 60s * playwright: change timeout to 45s * playwright: revert timeout to 60s * [ja_JP] Update of Japanese translations (TiddlyWiki#9870) * [ja_JP] Japanese translation update from commit: 3ed481b * [ja_JP] Japanese translation update from commit: ad3587b * [ja_JP] Japanese translation update from commit: 6bc77cf * [ja_JP] Japanese translation update from commit: 5d1c1ea, c4991a5 * [ja_JP] Japanese translation update from commit: 37a4613 * [ja_JP] Japanese translation update from commit: 748ef8a * [ja_JP] Japanese translation update from commit: 92caa73 * [ja_JP] Japanese translation update from commit: 87ba87b * [ja_JP] Japanese translation update from commit: 15ba415 * [ja_JP] Japanese translation update from commit: 64ee20e * [ja_JP] Japanese translation update from commit: 5d1c1ea,add3d42 * [ja_JP] Japanese translation update from commit: 64ee20e * [ja_JP] Japanese translation update from commit: b001333 * [ja_JP] Japanese translation update from commit: b434b9d * [ja_JP] Japanese translation update from commit: 3983086 * Fix KaTeX missing font (TiddlyWiki#9873) * Freelinks Plugin: Add configurable MaxLinks cap and remove search truncation (TiddlyWiki#9836) * Update aho-corasick.js Optimized Aho-Corasick string matching algorithm implementation with enhanced performance and error handling for TiddlyWiki freelinking functionality. - Uses WeakMap for failure links. WeakMap keys are compared by object identity (reference equality), which is required here because trie nodes are plain objects — a regular {} map would not work because JavaScript only supports string and Symbol keys, forcing object keys to be coerced to strings. - Outputs are merged at build time (classic AC optimization), eliminating the need to walk the failure chain during search. - search() converts case per character to avoid Unicode index desync (e.g. Turkish İ expands under toLowerCase(), shifting subsequent indices). - No match count cap in search(); truncation is handled at the render stage by processTextWithMatches() to avoid silently dropping matches mid-text. - Optional word boundary filtering: CJK always allowed; Latin requires non-word characters on both sides. * Update text.js - Render output capped by $:/config/Freelinks/MaxLinks (default 500). The cap applies to the final set of non-overlapping rendered links, not to the raw search results: search always runs to completion so that the longest-match selection has full information. Text beyond the cap remains as plain text rather than being silently omitted. * Create config-Freelinks-MAX_LINKS_TIDDLER.tid setting for MAX_LINKS_TIDDLER * Update and rename config-Freelinks-MAX_LINKS_TIDDLER.tid to config-Freelinks-MaxLinks.tid fix typo * Update settings.tid add MaxLinks setting * Update readme.tid add MaxLinks setting text * Create TiddlyWiki#9836.tid release note * Update tiddlywiki.info add freelinks for test build * Update macros-view.tid fix structure problem * Update text.js add IGNORE_CASE_TIDDLER to whitelist * Rename TiddlyWiki#9836.tid to TiddlyWiki#9836.tid move to 5.4.1 * Update text.js I deleted the wrong line last time, so I'm putting it back. * Update text.js eslint fix * Update text.js refactor: inline plain-text via dynamic core reference * Delete plugins/tiddlywiki/freelinks/plain-text.js remove plain-text.js: now inlined via dynamic core reference * Update text.js restore plain-text.js, remove new Function extraction * Add files via upload restore plain-text.js, remove new Function extraction * Update TiddlyWiki#9836.tid update new bug * Update TiddlyWiki#9836.tid tw version fix * Update tiddlywiki.info reverse to original * Bump flatted from 3.3.3 to 3.4.2 (TiddlyWiki#9774) Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2. - [Commits](WebReflection/flatted@v3.3.3...v3.4.2) --- updated-dependencies: - dependency-name: flatted dependency-version: 3.4.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump minimatch from 3.1.2 to 3.1.5 (TiddlyWiki#9775) Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5. - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](isaacs/minimatch@v3.1.2...v3.1.5) --- updated-dependencies: - dependency-name: minimatch dependency-version: 3.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump picomatch from 4.0.3 to 4.0.4 (TiddlyWiki#9776) Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@4.0.3...4.0.4) --- updated-dependencies: - dependency-name: picomatch dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump js-yaml from 4.1.0 to 4.1.1 (TiddlyWiki#9777) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@4.1.0...4.1.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.1.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [DOCS] Fix survey image link (TiddlyWiki#9897) * Correct v5.4.1 banner * BurningTreeC is leader of the TiddlyDesktop team @BurningTreeC please check the details of your card, * Fix invalid source positions in parse tree nodes (TiddlyWiki#9882) * Fix invalid source positions in parse tree nodes Several wikitext rules recorded start and end offsets that did not match the source they represent. The offsets are only used for source position mapping, not rendering or serialization, so output is unchanged and source.slice(start, end) now equals the node text. * import: the filter attribute start was set to the whole source string instead of the numeric offset. It used this.parser.source where it meant this.parser.pos, so every \import node carried a copy of the entire source as its start. * codeinline: the text node end pointed past the closing backtick, so the span included the closing delimiter and could read one or two characters too far. It now ends where the content ends. * wikilinkprefix and extlink: a suppressed link such as ~SomeLink or ~http://example.com produced a text node whose span included the leading ~ while its text did not. The span now starts after the ~. * Add 5.4.1 change note for TiddlyWiki#9882 Document the parse tree source position fixes: inline code, suppressed external links, suppressed wikilinks, and the import filter rule. * Add tests for parse tree source positions Cover the four wikitext parser rules whose `start` and `end` offsets are corrected in this PR: codeinline, extlink, wikilinkprefix, and import. * Add quick test runner (TiddlyWiki#9743) * Fixes issue with copying cross window event properties (TiddlyWiki#9905) * fix: issue with copying cross window event properties * docs: added changenote * Fix CI issues 1. Remove references to obsolete plugins 2. Fix duplicate language string entry * Fix incorrect reference to BurningTreeC's website * Fix CI errors * chore: preparing for v5.4.1 release * chore: update license and readme * Missing v5.4.1 release notes * chore: added missing changenotes * Version number update for 5.4.1 * Update TiddlyWiki release checklist * chore: preparing for v5.5.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jeremy Ruston <jeremy@jermolene.com> Co-authored-by: Maurycy Zarzycki <maurycy@evidentlycube.com> Co-authored-by: IchijikuIchigo <amaou.toyomitsuhime@gmail.com> Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com> Co-authored-by: XLBilly <LeiYiXia29@outlook.com> Co-authored-by: s793016 <s793016+git@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: superuser-does <32982579+superuser-does@users.noreply.github.com> Co-authored-by: Mario Pietsch <pmariojo@gmail.com>
Add quick-test.js for fast selective testing on Windows
editions/test/quick-test.js— a fast test runner that boots the test edition directly and runs selected test specs, skipping the expensive--rendertiddlerstep from--build indexMoverun-wiki-based-tests.jsinto the test edition ateditions/test/tiddlers/tests/Usage
Run from the repository root: