* doc second cy.find type
* document type for cy.request
* document Cypress.env command
* doc type for Cypress.log
* doc types for uncheck
* add type docs for cy.spy
* document spies and stubs types
* add space to align jsdoc stars
* types: show to correctly pass request options, close#2093
* cast just the http method property
* types for spy withArgs and as
* doc more types for overrides
* type for spread
* type for overriden then
* types for cy.trigger overrides
* rest of types of overriden methods, close#2009
* add cy.stub type for window alert and confirm
* jsdoc for cy.contains
* add jsdoc for viewport width and height
* jsdoc for prev command
* add jsdoc for cy.wait
* add jsdoc for clearLocalStorage
* jsdoc for wrap
* add jsdoc for screenshot with filename
* add jsdoc for clock
* add jsdoc example to cy.its
* complete jsdoc for siblings
* jsdoc for route overrides
* add isHeadless + isHeaded to browser
- move around logic so that instead of launching a browser by name, its
passed the entire browser object
- simplify logic for passing around options.headed
* launch the browser with an object, not browser name
* update browser types
* fix failing tests
* create directory path from screenshot name
* fix screenshot e2e specs
* ensure unique file paths for non-named screenshots
* append failure screenshots with ‘— failure’
* fix snapshot differences caused by slow computer
* fix driver specs
* fix minutes/seconds e2e snapshot replacer
* fix minutes/seconds e2e snapshot replacer again
* fix e2e specs failing due to screenshot path differences
* more snapshot fixes
* more snapshot fixes
* more snapshot fixes
* fix reporter showing wrong path for nested spec when no tests
* nest non-named screenshots in path based on spec path
* fix specs
* fix snapshot
* test that server + project state is reset between specs in cypress run mode
* rename spec.path to spec.relative. pass around the spec object instead of a string path
- store state on the project for current spec + browsers
- simplify how desktop gui passes around spec object
- fixes#1921
- make all specs a real spec model
- rename ‘Run all tests’ to ‘Run all specs’
* remove pretty-error dependency
* fixes#1919 and #1918, add Cypress.spec and Cypress.browser
* fixes all the failing tests
* fixes failing tests
* types: Cypress.spec
* add types for Cypress.browser
* fixes more failing tests
* enable null for spec props when running "All Specs"
* read comments per PR
https://github.com/cypress-io/cypress/pull/1858#issuecomment-396121876
* fixes failing tests
* fix linting
* fix types assertion
* fixes failing tests
* fixes failing tests, update from -- failed to (failed)
* ugh regexp
* fixes more tests
* add name, specName, and testFailure to the afterScreenshot props
* fix failing tests. append (failed) for failed screenshots
- use { testFailure: true } to indicate a failing test screenshot for
use in props
* types: add object to routes, close#1831
* types: remove Response type from cy.route, it belongs only in cy.request
* add example to cy.route doc
* types: add PATCH method, same as pull request #1778
* fixes#1783 validate configuration values after they're set from CLI + Env Vars
* fixes#1754 remove screenshotOnHeadlessFailure and rename trashAssetsBeforeHeadlessRuns
* derp copypasta fail
* handle colors and platform piping
- pipe stderr to ignore high sierra fixes#1745,
- always pipe windows for utf8 encoding fixes#1143 and #1550
- force color in CI by default #1747
- support NO_COLOR argument #1748
* reset TTY for stdin and stdout not just stderr
* fix for failing tests in ci
* fix failing environment unit tests due to sinon env change
* fix failing integration request specs
* fix failing tests, cleanup cache before each test, not after
* fix failing integration server tests
* wip [skip ci] update
* wip [skip ci] update test
* [skip ci] fix env var
* bump sinon, create helper utility to always throw when a stub is called without being given stubbed behavior
* update failing specs
* fix some error messages
* update snapshot
* warning -> note, add snapshot tests
* change snapshot os.release, test env vars
* server: handle undefined values from plugins
* server: have plugins process inherit stdio
so console.logs and such from plugins file come through
* add cy.task()
* server: fix config spec
* driver: fix task spec
* server: change ‘task’ to ‘task:requested’
* server: have ‘task’ event take object literal instead of function
* server: document how to run individual integration and e2e tests
* fix cy.task specs
* server: fix task e2e spec
* add Cypress.Screenshot.defaults, implement most options
* accept new options in cy.screenshot()
* add jsconfig files for vscode’s sake
* only open test when capturing runner
* use dom to hide runner ui instead of react
* screenshot capture “all” -> “runner”
* fix specs
* refactor pausing timers
* implement before/after screenshot callbacks
* fix lint error
* enforce order of captures
* fix spec
* refactor app.jsx screenshot handling
* wait two ticks for repaint to occur before/after screenshots
* use special pixels to ensure cypress ui is hidden when taking app screenshot
* crop non-app from app screenshots
* add e2e test for pathological case where app has pixels that match rendering helper pixels
* fix screenshot app capture snapshot
* add unit tests for lib/automation/screenshot
* use blackout in app capture spec to ensure it renders
* fix task e2e spec
* fix driver screenshot spec
* use Promise.map {concurrency: 1} instead of utils.runSerially
* normalize minute durations in e2e test snapshots
* increase timeout for screenshot app capture e2e test
* correct app capture snapshot
* always run screenshot afterAll step
* call timer functions with context set
* simplify screenshot capture option to just be a string
* clone screenshot config to prevent mutation
* always capture runner w/o blackout on failures
* refactor and add more tests for screenshot events
* default to app capture
* try/catch screenshot dom modifications in case the iframe is cross-origin
* don’t blackout on runner captures
* update e2e test with latest screenshot api
* fix screenshots e2e test now that app capture is default
* refactor server/screenshots
* implement fullPage screenshot capture
* use capture: ‘fullpage’ instead of fullPage: true
* remove unnecessary try/catches
* add e2e tests for fullpage captures
* fix unit tests
* refactor full page screenshots
* rename/refactor from fullpage to multipart
* implement element captures
* split up screenshot e2e tests
* expose clip as screenshot option
* take devicePixelRatio into account for screenshot cropping
* some formatting and fun with retina offscreen images
* determine device pixel ratio server-side
window.devicePixelRatio can’t be trusted, because in headless electron it returns 1 even on a retina screen. Instead, we determine it server-side by dividing the screenshot resolution by the viewport size.
* refactor screenshot buffer handling
* add support for cy.within
* make fullpage the default capture
* only allow one element to be screenshotted
* coerce capture into ‘app’ for element captures
* fix specs broken by fixture change
* make top-left screenshot helper pixel less noticeable
* add some code comments
* refactor runner screenshots handling
* clean up before/after screenshot code
* ensure cleanup if test restarts in middle of screenshot
* skip pixel-checking on failure screenshots to reduce latency
* add types for new screenshot api
* fix typescript linting issues
* @sandbox -> sinon
* fix screenshots spec
* fix e2e spec
* fix specs
* fix specs
* server: handle undefined values from plugins
* server: have plugins process inherit stdio
so console.logs and such from plugins file come through
* add cy.task()
* server: fix config spec
* driver: fix task spec
* server: change ‘task’ to ‘task:requested’
* server: have ‘task’ event take object literal instead of function
* server: document how to run individual integration and e2e tests
* fix cy.task specs
* server: fix task e2e spec
* ensure stack trace comes through for task error
* don’t show stack for ‘known’ user errors
* add types for cy.task
* @sandbox -> sinon
* add e2e spec for task returning undefined
* update readme re: e2e —spec
* timedout -> timedOut
* new Promise + setTimeout -> Promise.delay
* improve cy.task() error messages
* fix specs
* fix: use engines from CLI package, close#1373
* chore: add integration test for build script that writes package.json file
* do not hardcode version
* build npm package in this branch too
* server: pass --cwd from CLI to use when resolving relative paths for various options
- remove unnecessary cwd manipulation in scripts/start
* server: fixes#1159, specs are normalized into an array resolved against cwd
- projectPath is now normalized against cwd as well
* server: move hosts out of CLI args, keep as config only
* server: convert spec array to string on module API
* cli: must ref root package directly
* server: fixes busted specs due to cherry pick
* server: temporary fix for specs being normalized into an array
* server: move around spec flattening earlier
* server: pass absolute path for specs
* server: revert flattening hosts into config temporarily
* server: add correct relative + absolute path to spec
* driver: normalize spec path against project
* driver: skip flaky test for now [skip ci]