Commit Graph

37 Commits

Author SHA1 Message Date
Joe Pea 9847f69f6b We don't need to init if we're only testing marked. We probably don't need to test marked either, as we assume that the marked library works as advertised in whichever way they tested it. 2020-10-31 12:27:53 -07: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
沈唁 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
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 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 9cfcc4342b.

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

This reverts commit ad6c1891e4.

* Restoring failureThreshold after debugging

* Remove runInProcess option

* Revert "Remove runInProcess option"

This reverts commit 667ed6c870.

* 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
沈唁 ce316075e0 fix : add patch for {docsify-ignore} and {docsify-ignore-all} (#1351)
* revert: Convert {docsify-ignore} and {docsify-ignore-all} to HTML comments

This reverts commit 90d283d340

* fix: patch for docsify-ignore

* fix test

* fix test
2020-08-22 19:24:56 +08:00
Mattia Astorino 90d283d340 fix: convert {docsify-ignore} and {docsify-ignore-all} to HTML comments (#1318)
* breaking: convert {docsify-ignore} and {docsify-ignore-all} to HTML comments

Close https://github.com/docsifyjs/docsify/issues/441

* chore: add ignore and ignore-all unit tests

Co-authored-by: 沈唁 <52o@qq52o.cn>
2020-07-30 18:11:04 +08:00
Joe Pea 64a231d924 use a port for the tests that doesn't collide with common local server ports 2020-06-10 11:48:21 -07:00
Joe Pea 809fda9591 Merge branch 'develop' into allow-config-function 2020-06-07 14:10:57 -07:00
Joe Pea 31f1a645ee update outdated comment 2020-06-07 12:12:33 -07:00
Joe Pea 79fe3d5c5e remove some unused code and accept eslint changes 2020-06-07 11:24:54 -07:00
Joe Pea 88033b639e remove the DOCSIFY global made by Rollup, and move Docsify into a separate file where we can import it from tests while leaving the entry point for the bundle without any exports so that Rollup will not create a global variable from it 2020-06-07 11:09:06 -07:00
Joe Pea 7e002bf939 feat: update src/core/index.js to export all global APIs, deprecate old globals in favor of a single global DOCSIFY, and add tests for this 2020-05-23 14:10:00 -07:00
Joe Pea b4b8bdc93e add tests to make sure the global and plugin APIs are available and that configs can be functions 2020-05-22 01:28:34 -07:00
Anix 3d662a5bf7 fix: fixed target and rel issue (fixes #1183) 2020-05-20 11:14:26 +00:00
mau-jac 9ff4d06773 fix: default html img resize if no height included (#1065)
* fix: default html img resize if no height included

* chore: adjust render test to not expect height
2020-05-18 16:42:59 +05:30
Anix b4b1033f69 tests: fixed unit tests 2020-03-09 20:50:11 +05:30
Anix 9afa66607d chore: removed circular dep and css.escape 2020-03-09 20:33:07 +05:30
Leonardo Rossi b53ea1e304 Adds option to specify an header height (#1045)
* Adds option to specify an header height

When using a template that has a sticky-header, clicking on the sidebar will
scroll the page under the header.

I added the option `headerHeight` (default = `0`) so that the content div will
be scrolled down that amount of pixels.

* updates documentation and renames variable
2020-03-09 14:19:31 +05:30
Anix 75c72e917b chore: added new linter config (#1028)
* chore: added new linter config

* chore: linting fixes

* chore: refactore in linting config and minor linting fixes
2020-02-20 14:01:04 +05:30
Anix 5f7464af48 chore: migrate CI to github, refactore CI and npm scripts, linting fixes (#1023) 2020-02-14 15:22:53 +05:30
Carsten Daurehøj 724ac024dd feat: added capability to add css class and id to images + links + refactoring (#820)
* method extraction

* support for CSS class and id

* Update package.json

* Added tests for refactored render-methods

* minor refactoring
2020-02-08 21:54:18 +05:30
Giulio Ambrogi db97a1d22a Eslint fixes for v4x (#989)
* UPDATE .eslintrc

* UPDATE lint task

* FIX lint errors

* CLEANUP

* FIX no-eq-null warning

* FIX many jsdoc warnings

* FIX jsdoc issues

* FIX jsdoc warnings

* FIX jsdoc

* FIX eqeq and no-eq-null

* ADD lint to travis

* UPDATE test env for eslint
2019-12-30 22:01:46 +05:30
Sylvain Brocard ca8ae50717 IE compatibility and add unit tests 2019-03-25 17:20:09 +01:00
Anton Wilhelm 2039e0dd1c rework TODOs 2019-03-06 21:53:09 +01:00
Anton Wilhelm dac0bfec6c split test into unit and integration
provide some dummy tests cases
2019-02-25 07:14:00 +01:00
Anton Wilhelm 01ea44106b fix xhr usage, fix init URL setup
provide full test setup including fixtures
2019-02-25 07:14:00 +01:00
Anton Wilhelm b53571810b Setup test environment and provide first tests 🌟 2019-02-14 18:33:33 +01:00
Anton Wilhelm fd86c727af preperation to run the code in nodejs 2019-01-30 09:45:50 +01:00
qingwei.li 6f89c530ed Remove test folder 2016-11-22 22:46:44 +08:00
qingwei.li deb05a2488 fix theme path 2016-11-20 22:49:32 +08:00
qingwei.li e82b5c58bc Add vue theme 2016-11-20 22:29:36 +08:00
qingwei.li 44ac51b9c2 first commit 2016-11-20 15:56:37 +08:00