{"id":23069079,"url":"https://github.com/mangofever/ios-gherkin","last_synced_at":"2025-08-15T13:31:58.308Z","repository":{"id":49386423,"uuid":"244828116","full_name":"mangofever/iOS-Gherkin","owner":"mangofever","description":"Gherkin Syntax Sugar for iOS based on Quick","archived":false,"fork":false,"pushed_at":"2020-06-26T08:58:49.000Z","size":23,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-16T01:46:08.814Z","etag":null,"topics":["bdd-style","cucumber","gherkin","ios-bdd","ios-test","tdd"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mangofever.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-04T06:48:03.000Z","updated_at":"2024-02-14T13:37:33.000Z","dependencies_parsed_at":"2022-08-25T16:50:28.545Z","dependency_job_id":null,"html_url":"https://github.com/mangofever/iOS-Gherkin","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mangofever%2FiOS-Gherkin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mangofever%2FiOS-Gherkin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mangofever%2FiOS-Gherkin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mangofever%2FiOS-Gherkin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mangofever","download_url":"https://codeload.github.com/mangofever/iOS-Gherkin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229915704,"owners_count":18144014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd-style","cucumber","gherkin","ios-bdd","ios-test","tdd"],"created_at":"2024-12-16T06:12:53.773Z","updated_at":"2024-12-16T06:12:55.972Z","avatar_url":"https://github.com/mangofever.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iOS-Gherkin\n\niOS-Gherkin is a library wrapping Quick (https://github.com/Quick/Quick)\n\nWith Quick:\n```\nclass AdderSpec: QuickSpec {\n  override func spec() {\n    describe(\"Adder\") {\n      var adder: Adder!\n      beforeEach {\n          adder = WeirdAdder()\n      }\n\n      context(\"max value is 20\") {\n        beforeEach {\n          adder.maxValue = 20\n        }\n\n        context(\"add 10\") {\n          beforeEach {\n            adder.add(10)\n          }\n\n          context(\"add 6\") {\n            beforeEach {\n              adder.add(6)\n            }\n\n            context(\"add 2\") {\n              beforeEach {\n                adder.add(2)\n              }\n\n              context(\"add 1\") {\n                beforeEach {\n                  adder.add(2)\n                }\n                \n                context(\"add 3\") {\n                  beforeEach {\n                    adder.add(3)\n                  }\n                  \n                  it(\"result is 20\") {\n                    expect(adder.result).to(equal(20))\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n} // so many }}}}}}} \n```\n\nWith Gherkin:\n```\nclass AdderSpec: GherkinSpec {\n  override func spec() {\n    Feature(\"add\") {\n      var adder: Adder!\n      Background {\n          adder = Adder()\n      }\n\n      Scenario(\"add over max value\") {\n        Given(\"max value is 20\") {\n          adder.maxValue = 20\n        }\n        \n        When(\"add 10\") {\n          adder.add(10)\n        }\n        \n        When(\"add 6\") {\n          adder.add(6)\n        }\n        \n        When(\"add 2\") {\n          adder.add(2)\n        }\n        \n        When(\"add 1\") {\n          adder.add(1)\n        }\n        \n        When(\"add 3\") {\n          adder.add(3)\n        }\n\n        Then(\"result is 20\") {\n            expect(adder.result).to(equal(20))\n        }\n      }\n    }\n  }\n}\n```\n\n## Benefits\n1. less '}'s.\n2. more specific context keywords (Given, When, Then).\n3. no ```beforeEach``` needed.\n\nKeywords are from Cucumber(https://cucumber.io/docs/gherkin/).\n\n## Install\n### Cocoapods\n```\npod 'Gherkin'\n```\n\nPlease give feedbacks to improve iOS-Gherkin. Thank you!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmangofever%2Fios-gherkin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmangofever%2Fios-gherkin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmangofever%2Fios-gherkin/lists"}