{"__v":0,"_id":"5764365b89da8317005906ff","category":{"__v":21,"_id":"56b8b0f7ddeb231700e69825","pages":["56b8b1b30094520d006b3c7b","56b8b1b39fc0de1700b60a20","56b8b1b386d2b0190070bd33","56b8b1b3578edc0d0023cefc","56b8b1b386d2b0190070bd34","56b8b1ec43bbd10d0081d15d","56b8b1ec9fc0de1700b60a21","56b8b1ec38b1070d002891fa","56b8b1ec0094520d006b3c7c","56b8b1ec578edc0d0023cefe","56b8b285ddeb231700e69829","56b8b28538b1070d002891fb","56b8b2855d75fe0d00fbcc6e","56b8b2850094520d006b3c7e","56b8b2850094520d006b3c7f","56b8b2d014feef0d00824140","56b8b2d08a9e7c0d004bb173","56b8b2d0ddeb231700e6982a","56b8b2d086d2b0190070bd3e","56b8b2d086d2b0190070bd3f","56b936d0578edc0d0023cfa5"],"project":"568fde81b700ce0d002f4b43","version":"568fde82b700ce0d002f4b46","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-02-08T15:15:03.713Z","from_sync":false,"order":2,"slug":"utilities","title":"Utilities"},"parentDoc":null,"project":"568fde81b700ce0d002f4b43","user":"568fffce769f210d0013258f","version":{"__v":23,"_id":"568fde82b700ce0d002f4b46","project":"568fde81b700ce0d002f4b43","createdAt":"2016-01-08T16:06:26.373Z","releaseDate":"2016-01-08T16:06:26.373Z","categories":["568fde82b700ce0d002f4b47","568ff0e504440a1700e4cbbd","569002f19ebef90d0087289d","569004f4769f210d00132599","5690056d9ebef90d008728a0","569005d394c5030d0028813a","5690067804440a1700e4cbe2","569137eb3c4f510d00ec9b92","56913815e56a790d008dbfe3","569138ba3c4f510d00ec9b93","5691392f3c4f510d00ec9b94","56913bbe72f2810d007e4cb0","56933b8d6ebadc0d005b71d2","56933b8d6ebadc0d005b71d3","569564facaa32519009c41e6","5696a319b6d61f0d00acfb40","5696a319a857080d0082e8e8","5697efe43503e40d0061f4d1","5697efe48d2a770d00d2fd16","569e9597ffccd10d00a05c59","56a7a1523d33bc2100793d5c","56a7a32ecf6d771700baeee8","56b8b0f7ddeb231700e69825"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"bar","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-17T17:41:47.107Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"auth":"required","params":[],"url":""},"isReference":false,"order":2,"body":"# [Cypress.minimatch()](#section-usage)\n\nCypress automatically proxies [`minimatch`](https://github.com/isaacs/minimatch) and exposes it as `Cypress.minimatch`.\n\nUse `Cypress.minimatch` to test out glob patterns against strings.\n\n***\n\n# Usage\n\nBy default Cypress uses `minimatch` to test glob patterns against XHR URLs.\n\nIf you're struggling with writing the correct pattern you can iterate much faster by testing directly in your Chrome Dev Tools console.\n\nPop open that baby and write the following:\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"// test that the glob you're writing matches the XHR's url\\n\\n// returns true\\nCypress.minimatch(\\\"/users/1/comments\\\", \\\"/users/*/comments\\\", {\\n  matchBase: true\\n})\\n\\n// returns false\\nCypress.minimatch(\\\"/users/1/comments/2\\\", \\\"/users/*/comments\\\", {\\n  matchBase: true\\n})\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\nWe're adding the `{matchBase: true}` option because under the hood Cypress actually uses that option by default.\n\nNow let's test out `**` support.\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"// ** matches against all downstream path segments\\n\\n// returns true\\nCypress.minimatch(\\\"/foo/bar/baz/123/quux?a=b&c=2\\\", \\\"/foo/**\\\", {\\n  matchBase: true\\n})\\n\\n// whereas * matches only the next path segment\\n\\n// returns false\\nCypress.minimatch(\\\"/foo/bar/baz/123/quux?a=b&c=2\\\", \\\"/foo/*\\\", {\\n  matchBase: false\\n})\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]","excerpt":"Match glob patterns to strings","slug":"cypress-minimatch","type":"basic","title":"minimatch"}

minimatch

Match glob patterns to strings

# [Cypress.minimatch()](#section-usage) Cypress automatically proxies [`minimatch`](https://github.com/isaacs/minimatch) and exposes it as `Cypress.minimatch`. Use `Cypress.minimatch` to test out glob patterns against strings. *** # Usage By default Cypress uses `minimatch` to test glob patterns against XHR URLs. If you're struggling with writing the correct pattern you can iterate much faster by testing directly in your Chrome Dev Tools console. Pop open that baby and write the following: [block:code] { "codes": [ { "code": "// test that the glob you're writing matches the XHR's url\n\n// returns true\nCypress.minimatch(\"/users/1/comments\", \"/users/*/comments\", {\n matchBase: true\n})\n\n// returns false\nCypress.minimatch(\"/users/1/comments/2\", \"/users/*/comments\", {\n matchBase: true\n})\n", "language": "javascript" } ] } [/block] We're adding the `{matchBase: true}` option because under the hood Cypress actually uses that option by default. Now let's test out `**` support. [block:code] { "codes": [ { "code": "// ** matches against all downstream path segments\n\n// returns true\nCypress.minimatch(\"/foo/bar/baz/123/quux?a=b&c=2\", \"/foo/**\", {\n matchBase: true\n})\n\n// whereas * matches only the next path segment\n\n// returns false\nCypress.minimatch(\"/foo/bar/baz/123/quux?a=b&c=2\", \"/foo/*\", {\n matchBase: false\n})\n", "language": "javascript" } ] } [/block]