Commit Graph

1592 Commits

Author SHA1 Message Date
John Hildenbiddle
cafdd62dae Remove —runInBand flag from test script 2020-10-26 02:23:34 -05:00
John Hildenbiddle
b33d750e0b Remove SRC_PATH global variable 2020-10-26 02:18:01 -05:00
John Hildenbiddle
3af1cfa84e Add selector option to _logHTML 2020-10-26 02:08:51 -05:00
John Hildenbiddle
a9be6f20d2 Merge branch 'develop' into feat/vue-options 2020-10-25 23:10:02 -05:00
John Hildenbiddle
5ec225687b Fix basePath & update route URLs 2020-10-25 23:08:46 -05:00
John Hildenbiddle
f0a8d69eb8 Fix basePath update when config is function 2020-10-25 23:08:13 -05:00
John Hildenbiddle
8362ed01c8 Remove unnecessary globals 2020-10-25 23:05:16 -05:00
John Hildenbiddle
b6d54072b3 Fix basePath 2020-10-24 20:44:24 -05:00
John Hildenbiddle
febe7f8ee1 Remove global event listeners beforeEach 2020-10-24 20:05:12 -05:00
John Hildenbiddle
6a5e84bf3c Update directive detection (data vs static) 2020-10-23 13:12:56 -05:00
John Hildenbiddle
25084f88b5 Update jest/docsify side-effect cleanup 2020-10-23 13:09:55 -05:00
John Hildenbiddle
af7e71345b Change default startPath for tests & manual start 2020-10-23 13:08:59 -05:00
John Hildenbiddle
131aae520a Fix waitForText() timeout and reject messages 2020-10-23 13:07:10 -05:00
John Hildenbiddle
871e48f823 Update default waitForSelector value 2020-10-21 16:41:29 -05:00
John Hildenbiddle
2946c061a4 Update test 2020-10-21 14:02:56 -05:00
John Hildenbiddle
86dae610de Rename vueOptions to vueMountOptions 2020-10-21 13:14:07 -05:00
John Hildenbiddle
1a52e97581 Update docs 2020-10-21 13:03:09 -05:00
John Hildenbiddle
5a2dde1624 Update docs 2020-10-20 17:45:34 -05:00
John Hildenbiddle
8a56f7241f Fix directive detection 2020-10-18 18:35:24 -05:00
John Hildenbiddle
019365969d Update docs with new Vue features and usage 2020-10-17 01:50:46 -05:00
John Hildenbiddle
758538c162 Add <output>. Refactor <pre> and <code>. 2020-10-17 01:49:53 -05:00
John Hildenbiddle
6d152e2bec Refactor regular expression usage 2020-10-17 01:46:41 -05:00
John Hildenbiddle
1774ab8703 Initial commit 2020-10-17 01:41:40 -05:00
Snyk bot
8cf9fd8150
fix: upgrade dompurify from 2.1.0 to 2.1.1 (#1402)
Snyk has created this PR to upgrade dompurify from 2.1.0 to 2.1.1.

See this package in npm:
https://www.npmjs.com/package/dompurify

See this project in Snyk:
https://app.snyk.io/org/anikethsaha/project/6efe7e04-4e52-497e-8ad5-570733cc577a?utm_source=github&utm_medium=upgrade-pr
2020-10-17 14:03:33 +08:00
John Hildenbiddle
bc2e091937 Ignore el property in Vue configs for Vue v2 2020-10-16 00:06:42 -05:00
John Hildenbiddle
a2386e5a59 Add vueComponents support 2020-10-15 23:25:02 -05:00
Snyk bot
1863d8edb7
fix: upgrade dompurify from 2.0.17 to 2.1.0 (#1397)
Snyk has created this PR to upgrade dompurify from 2.0.17 to 2.1.0.

See this package in npm:
https://www.npmjs.com/package/dompurify

See this project in Snyk:
https://app.snyk.io/org/anikethsaha/project/6efe7e04-4e52-497e-8ad5-570733cc577a?utm_source=github&utm_medium=upgrade-pr
2020-10-15 19:40:56 +08:00
沈唁
ee550d0c51
fix: search on homepage test (#1398)
* fix: ci build

* reset

* test

* update

* fix test

* fix

* Add multi-page search test

* rename

Co-authored-by: John Hildenbiddle <jhildenbiddle@users.noreply.github.com>
2020-10-15 17:41:21 +08:00
Koy
c9d4f7abc9
fix: the sidebar links to another site. (#1336)
* fix : the sidebar links to another site
2020-10-15 09:13:35 +08:00
John Hildenbiddle
5fa79ebcdb Fix Vue content detection and global options
- Add detection of Vue HTML directives to trigger mounting
- Fix bug that processed markdown child nodes as global Vue instances even if vueGlobalOptions is not specified
- Fix bug that prevented passing vueGlobalOptions to global instances if `data()` prop did not exist
- Update Vue config check to test for existence of object keys instead of just the existence object
- Update tests
2020-10-14 19:11:54 -05:00
John Hildenbiddle
ecd053b25c Support functions in docsify configuration 2020-10-14 19:11:26 -05:00
沈唁
25bc9b7eb7
fix: Can't search homepage content (#1391)
* fix: Can't search homepage content

* fix: when pathNamespaces does not exist

* add test

* update test to fix windows ci
2020-10-14 12:39:56 +08:00
Snyk bot
ae45b3201b
fix: upgrade debug from 4.1.1 to 4.3.0 (#1390)
Snyk has created this PR to upgrade debug from 4.1.1 to 4.3.0.

See this package in npm:
https://www.npmjs.com/package/debug

See this project in Snyk:
https://app.snyk.io/org/anikethsaha/project/6efe7e04-4e52-497e-8ad5-570733cc577a?utm_source=github&utm_medium=upgrade-pr
2020-10-11 11:50:01 +08:00
John Hildenbiddle
cd8f2d3efc Fix vueGlobalOptions.data checks 2020-10-10 01:45:02 -05:00
John Hildenbiddle
35ad5c559b Add vueOptions and vueGlobalOptions
Fixed #752
2020-10-09 23:14:57 -05:00
Snyk bot
62cd35ee83
fix: packages/docsify-server-renderer/package.json & packages/docsify-server-renderer/package-lock.json to reduce vulnerabilities (#1389)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-DOMPURIFY-1016634

Co-authored-by: 沈唁 <52o@qq52o.cn>
2020-10-09 11:26:34 +08:00
John Hildenbiddle
0afbf96701
Fix eslint warnings (#1388) 2020-10-08 21:58:30 -05:00
John Hildenbiddle
761210c2cf
Merge pull request #1271 from docsifyjs/fix-790
Fix Vue Reactivity
2020-10-08 16:05:38 -05:00
沈唁
4f6148db91
Merge branch 'develop' into fix-790 2020-10-08 21:16:58 +08:00
Koy
0ef6aa8ab3
docs: add crossOriginLinks configurations details. (#1386) 2020-10-08 07:00:08 +08:00
John Hildenbiddle
094a503f92 Remove Cypress screenshots 2020-10-07 16:00:04 -05:00
John Hildenbiddle
3a4da88dca Fix friendly message display 2020-10-07 15:39:22 -05:00
John Hildenbiddle
b135f8417d Add Vue 3 compatibility
- Update docs
- Update tests
- Add Vue 2 to docs site
- Add Vue 2 & 3 dependencies for tests
2020-10-07 13:13:03 -05:00
John Hildenbiddle
9b794f5bd1 Show dir listing & help msg for manual instance 2020-10-07 13:10:33 -05:00
John Hildenbiddle
cea9129c11 Add NODE_MODULES_URL global 2020-10-07 13:08:55 -05:00
John Hildenbiddle
78c2a9d7b8 Merge remote-tracking branch 'origin/develop' into fix-790
# Conflicts:
#	cypress/fixtures/tpl/docs.index.html
#	cypress/integration/sidebar/config.spec.js
#	docs/index.html
#	index.html
2020-10-05 14:52:41 -05:00
John Hildenbiddle
474266051c
Merge pull request #1384 from docsifyjs/fix/1383
Fix scroll event end value
2020-10-05 14:27:03 -05:00
John Hildenbiddle
b45f444426
Merge branch 'develop' into fix/1383 2020-10-05 14:21:38 -05:00
John Hildenbiddle
7f0c42eda5
Jest + Playwright Testing (#1276)
* Initial Jest+Playwright setup

* Fix eslint warnings

* Add placeholder for common options

* Fix load order of scriptURLs

* Add docsifyURL and waitForSelector options

* Add executeScript scenarios

* Enable firefox and webkit tests by default

* Prevent prettier from reformatting browsers list

* Update options and add JSDoc comments

* Initial commit

* Complete initial example tests

* Minor tweaks

* Change suite name

* Rename file

* Add npm script to run jest+playwright example test

* Clean up server properties

* Isolate e2e, integration, and unit test environments

- Setup projects for e2e, integration, and unit tests in Jest configuration
- Setup /tests/e2e/ tests for Jest+PlayWright
- Setup /tests/integration/ tests for Jest
- Setup /tests/unit/ tests for Jest
- Setup eslint for Jest and Jest+Playwright environments
- Move e2e configuration files into separate folder
- Update e2e example tests
- Update unit example tests
- Update HTML fixtures

* Update docsifyInit helper

- Add `debug` option
- Append `Markdown` suffix to markdown-related options
- Reorder options alphabetically

* Add jestPlaywright.debug() to e2e examples

* Removed need to pass page as arg to docsifyInit()

* Add VSCode debug configurations

* Change test server port from 8080 to 3001

* Clean up test names and expect() order

* Update npm scripts to ignore example tests

* Add CLI commands and resources section

* Add Jest unit test snapshot example

* Added Jest unit and e2e tests to Github workflows

* Add npm script to run Jest examples

Added for new devs who are exploring the examples, as the need for passing --testPathIgnorePatterns is not obvious. This flag is required because the example tests are excluded by default.

* Remove node 10.x and add 14.x from tests

Required for jest+playwright testitng

* Temporarily disable testPathIgnorePatterns for ci

* Temporarily remove node 14 from matrix

Cypress fails on node 14.x

* Alternate workflow setup for new test env

* Update workflow platforms and node versions

Also cleaning up naming

* Restoring original workflow names

* Remove Cypress tests

* Remove/Reset GitHub actions

* Restore/reset workflows

* Bump actions/checkout@v1 to v2

* Use playright GH action

* Update playwright GH action configuration

* Remove unnecessary steps and update checkout version

* Add install step

* Add --ignore-scripts flag

Linting does not require running scripts automatically executred after install.

* Swicth from ci to i for install

* Add new Build & Test workflow

* Add OS tests

* Wait for network idle for more reliable ready state

* Configure image snapshot testing and add example

* Remove example fixture file

* Adjust image snapshot threshold for local & CI tests

* Upload diff-output artifact

* Add failure() check to upload-artifact

* Bump image snapshot threshold for local & CI tests

* Set diffDirection

* Fix XHR caching in playwright tests

* Update image snapshot example and theshold

* Bump image snapshot threshold for local & CI tests

* Remove old workflows

* Bump image snapshot threshold for local & CI tests

* Bump image snapshot failureThreshold for local & CI tests

* Set failureThresholdType to percent

* Change image snapshot comparisonMethod to ssim

* Remove pixelMatch options (incompatible with ssim)

* Bump image snapshot failureThreshold

* Bump image snapshot failureThreshold

* Disable fast-fail to allow all checks to complete

* Rename workflow

* Disable fast-fail to allow all checks to complete

* Store pixel and ssim comparison configs

* Add link to image snapshot test

* Fix CI errors on Windows due to image size mismatch

* Attempt to fix macos e2e exit code 134 issue

* Update test.yml

* Update test.yml

* Update test.yml

* Fix --ci flag

* Set Jets to use --runInBand for macOS e2e

* Remove unnecessary macOS check

* Set image snapshot to runInProcess (macOS CI fix)

* Update test.yml

* Temporary failureThreshold change for debugging

* Upload os+node-specific diff artifacts

* Remove node version from diff artifact

* Revert "Remove node version from diff artifact"

This reverts commit 9cfcc4342bb22f18da30363a4c52758f13ba0cc9.

* Revert "Revert "Remove node version from diff artifact""

This reverts commit ad6c1891e48c70c9973a5c0d7b876b2d4621f3b9.

* Restoring failureThreshold after debugging

* Remove runInProcess option

* Revert "Remove runInProcess option"

This reverts commit 667ed6c870fc56f0349fc5eccc2cdeead3eff4ea.

* Add node-specific artifact uploads

* Set ssim mode to fast and restore runInProcess

* Set failureThreshold to 0.01

* Updating to playwright@next for webkit fix

* Restore optimal ssim configuration

* Testing pixel vs. ssim image comparison

* Move shared test setup to unit/int/e2e setups

* Refactor test server setup

* Replace live-server with browser-sync

* Update script for running local docs site

- Only init GA plugin on public site
- Only init Gitter plugin on public site
- Only init Matomo plugin on public site

NOTE: Large diff is a result of initial Prettier formatting. Actual change limited to last <script> block on page.

* Allow launching test server preview with --start

* Add integration tests and refactor unit + e2e

* Unify docsifyInit() and cleanup

- Create unified docsifyInit() for jest and playwright
- Move shared helpers to /tests/helpers
- Update tests
- Update globals

* Fixed webkit routes by specifying ContentType

* Update snapshot

* Update dependencies

* Update tests to use unified docsifyInit()

* Remove Cypress (old e2e test environment)

* Update tests to run (unit/integration/e2e)

- Add new integration tests (Jest)
- Remove old unit tests (mocha+jsdom)
- Remove old e2e tests (Cypress)

* Remove Cypress-related dependency

* Remove mocha+chai+jsdom (old unit/int test env)

* Rename testing directories and scripts

- Rename /tests/ directory to /test/
- Rename script/task names by removing “jest” identifier
- Remove “test:jest-examples” script

* - Configure test server for availability with all tests (previously e2e only)
- Create identical docsifyInit() tests using Jest (integration) and Playwright (e2e)
- Update docsifyInit() to convert relative URLs to absolute URLs to work in both JSDOM and Playwright
- Update docsifyInit() to append style- and js-related tags using createElement instead of insertAdjacentHTML
- Update paths in test files to use unified docsifyInit()
- Added option to docsifyInit() to enable/disable formatted HTML output to console
- Removed vue.css as default docsify theme from docsifyInit()
- Removed outdated files

* Reorganize test files

* Fix basePath option

* Replace do-mock-ajax with xhr-mock

- Allows mocking all XMLHttpRequests instead of just those initiated via /src/core/fetch/ajax.js
- Allows JSDOM tests to use /lib/docsify.js instead of /src/core/index.js (same as Playwright tests)
- Allows JSDOM tests to use /docs site as test content

* Added new waitFor helpers

* Clean up globals

- Import globals from various files instead of manually adding them to ensure they are availability in Jest and eslint configurations
- Add middleware to server configuration for serving virtual “_blank.html” file
- Add BLANK_URL
- Rename TEST_URL to TEST_HOST
- Removed ./test/fixtures/ directory (blank page now served via server.js middleware)
- Added page.goto(BLANK_URL) call to global Playwright beforeEach() setup

* Add try/catch for waitForFunction callback

* Move playwright config into jest.config.js

* Add runInBand option to tests for reliability

* Remove unnecessary XHR Mock teardown

* Add —runInBand to test script

* Merge develop

* Cleanup

- Relocate carbon plugin script with other scripts
- Update zh-cn docs URL to align with other translatins (GitHub, not jsdelivr)
- Add major version locks to URLs

* Removed fixed host value from docs

* Updated test after merge (docsify version change)

* Added startPath for manual instance

* Remove Node 10 from CI tests

* Remove Node 10 from CI lint tests
2020-10-05 14:10:30 -05:00
沈唁
e8d3b5e97d
Merge branch 'develop' into fix/1383 2020-10-03 09:40:13 +08:00