Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into test-extra-table-content
Browse files Browse the repository at this point in the history
  • Loading branch information
mpkorstanje committed Jul 8, 2024
2 parents 662a636 + e417841 commit 7b65309
Show file tree
Hide file tree
Showing 26 changed files with 322 additions and 319 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release-php.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- uses: cucumber/action-publish-subrepo@v1.1.0
- uses: cucumber/action-publish-subrepo@v1.1.1
with:
working-directory: php
github-token: ${{ secrets.CUKEBOT_GITHUB_TOKEN }}
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ This document is formatted according to the principles of [Keep A CHANGELOG](htt
## [Unreleased]
### Fixed
- [Python] Provide informative exception for trailing escapes in tables ([#241](https://github.com/cucumber/gherkin/pull/241))
- (i18n) Provide trailing space in Irish keywords ([#243](https://github.com/cucumber/gherkin/pull/243))
- (i18n) Provide trailing space in Irish step keywords ([#243](https://github.com/cucumber/gherkin/pull/243))
- (i18n) Provide trailing space in Korean step keywords ([#254](https://github.com/cucumber/gherkin/pull/254))
- (i18n) Tamil "And" and "But" translations should have single trailing space ([#243](https://github.com/cucumber/gherkin/pull/243))
- Intermittent failure of cpp test jobs in CI ([#217](https://github.com/cucumber/gherkin/issues/217))

## [28.0.0] - 2024-02-15
### Added
Expand Down
10 changes: 5 additions & 5 deletions c/src/dialect.c
Original file line number Diff line number Diff line change
Expand Up @@ -2115,13 +2115,13 @@ static const Dialect kn_dialect = {
&kn_then_keywords,
&kn_when_keywords };

static const wchar_t* const ko_and_KEYWORDS[] = { L"* ", L"그리고" };
static const wchar_t* const ko_and_KEYWORDS[] = { L"* ", L"그리고 " };
static const Keywords ko_and_keywords = { 2, ko_and_KEYWORDS };

static const wchar_t* const ko_background_KEYWORDS[] = { L"배경" };
static const Keywords ko_background_keywords = { 1, ko_background_KEYWORDS };

static const wchar_t* const ko_but_KEYWORDS[] = { L"* ", L"하지만", L"단" };
static const wchar_t* const ko_but_KEYWORDS[] = { L"* ", L"하지만 ", L"단 " };
static const Keywords ko_but_keywords = { 3, ko_but_KEYWORDS };

static const wchar_t* const ko_examples_KEYWORDS[] = { L"예" };
Expand All @@ -2130,7 +2130,7 @@ static const Keywords ko_examples_keywords = { 1, ko_examples_KEYWORDS };
static const wchar_t* const ko_feature_KEYWORDS[] = { L"기능" };
static const Keywords ko_feature_keywords = { 1, ko_feature_KEYWORDS };

static const wchar_t* const ko_given_KEYWORDS[] = { L"* ", L"조건", L"먼저" };
static const wchar_t* const ko_given_KEYWORDS[] = { L"* ", L"조건 ", L"먼저 " };
static const Keywords ko_given_keywords = { 3, ko_given_KEYWORDS };

static const wchar_t* const ko_rule_KEYWORDS[] = { L"Rule" };
Expand All @@ -2142,10 +2142,10 @@ static const Keywords ko_scenario_keywords = { 1, ko_scenario_KEYWORDS };
static const wchar_t* const ko_scenarioOutline_KEYWORDS[] = { L"시나리오 개요" };
static const Keywords ko_scenarioOutline_keywords = { 1, ko_scenarioOutline_KEYWORDS };

static const wchar_t* const ko_then_KEYWORDS[] = { L"* ", L"그러면" };
static const wchar_t* const ko_then_KEYWORDS[] = { L"* ", L"그러면 " };
static const Keywords ko_then_keywords = { 2, ko_then_KEYWORDS };

static const wchar_t* const ko_when_KEYWORDS[] = { L"* ", L"만일", L"만약" };
static const wchar_t* const ko_when_KEYWORDS[] = { L"* ", L"만일 ", L"만약 " };
static const Keywords ko_when_keywords = { 3, ko_when_KEYWORDS };

static const Dialect ko_dialect = {
Expand Down
4 changes: 4 additions & 0 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
add_compile_definitions(_CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS)
endif()

find_package(nlohmann_json CONFIG REQUIRED)
find_package(cucumber_messages CONFIG REQUIRED)

Expand Down
83 changes: 40 additions & 43 deletions cpp/cmake/cmate
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ function(cmate_setgdir VAR VAL)
file(MAKE_DIRECTORY ${${VAR}})
endfunction()

function(cmate_sleep DURATION)
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep ${DURATION})
endfunction()

function(cmate_load_version)
if(NOT "${CMATE_VERSION}" STREQUAL "")
return()
Expand Down Expand Up @@ -176,15 +180,37 @@ endfunction()
function(cmate_download URL FILE)
if(CMATE_SIMULATE)
cmate_msg("download ${URL} to ${FILE}")
else()
file(DOWNLOAD ${URL} ${FILE} STATUS ST)
return()
endif()

list(GET ST 0 RC)
set(WAIT_INTERVAL 5)
set(MAX_RETRIES 10)
set(RETRIES ${MAX_RETRIES})

if(RC)
cmate_die("download of ${URL} failed: ${ST}")
endif()
cmate_msg("downloading ${URL}")

while(1)
file(DOWNLOAD ${URL} ${FILE} STATUS ST)

list(GET ST 0 RC)

if(RC)
if(RETRIES GREATER 1)
math(EXPR RETRIES "${RETRIES} - 1")
math(EXPR ATTEMPT "${MAX_RETRIES} - ${RETRIES}")
cmate_msg(
"download of ${URL} failed"
" (attempt ${ATTEMPT} of ${MAX_RETRIES}"
", retrying in ${WAIT_INTERVAL}s)"
)
cmate_sleep(${WAIT_INTERVAL})
else()
cmate_die("download of ${URL} failed: ${ST}")
endif()
else()
break()
endif()
endwhile()
endfunction()

function(cmate_set_build_type RELEASE_FLAG_VAR)
Expand All @@ -202,41 +228,16 @@ function(cmate_set_build_type RELEASE_FLAG_VAR)
cmate_setg(CMATE_BUILD_DIR "${CMATE_BUILD_BASE_DIR}/${TDIR}")
endfunction()

function(cmate_github_get_latest REPO VAR RE)
set(URL "https://api.github.com/repos/${REPO}/releases/latest")
set(TDIR "${CMATE_TMP_DIR}/${REPO}")
set(INFO "${TDIR}/info.json")

if (NOT EXISTS ${INFO})
file(MAKE_DIRECTORY ${TDIR})
cmate_download(${URL} ${INFO})
endif()

file(READ ${INFO} VINFO)
cmate_json_get_array(${VINFO} "assets" ASSETS)

foreach(ASSET ${ASSETS})
string(
JSON
BDURL
ERROR_VARIABLE ERR
GET "${ASSET}" "browser_download_url"
)
function(cmate_github_get_latest REPO PKG VAR)
set(URL "https://github.com/${REPO}/releases/latest/download/${PKG}")

if(NOT ERR AND ${BDURL} MATCHES ${RE})
string(JSON FILE GET "${ASSET}" "name")
set(FILE "${CMATE_DL_DIR}/${FILE}")
set(FILE "${CMATE_DL_DIR}/${PKG}")

if (NOT EXISTS ${FILE})
cmate_download(${BDURL} ${FILE})
endif()

set(${VAR} ${FILE} PARENT_SCOPE)
break()
endif()
endforeach()
if (NOT EXISTS ${FILE})
cmate_download(${URL} ${FILE})
endif()

file(REMOVE_RECURSE ${TDIR})
set(${VAR} ${FILE} PARENT_SCOPE)
endfunction()

function(cmate_check_ninja VAR)
Expand All @@ -259,11 +260,7 @@ function(cmate_check_ninja VAR)
endif()

if(NOT EXISTS "${CMATE_ENV_BIN_DIR}/${NCMD}")
cmate_github_get_latest(
"ninja-build/ninja"
NZIP
"ninja-${NOS}.zip$"
)
cmate_github_get_latest("ninja-build/ninja" "ninja-${NOS}.zip" NZIP)

file(REMOVE_RECURSE ${TDIR})
file(ARCHIVE_EXTRACT INPUT ${NZIP} DESTINATION ${TDIR})
Expand Down
10 changes: 5 additions & 5 deletions cpp/src/lib/gherkin/cucumber/gherkin/dialect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -729,17 +729,17 @@ all_keywords()
{
"ko",
{
{ "and", { "* ", "그리고" } },
{ "and", { "* ", "그리고 " } },
{ "background", { "배경" } },
{ "but", { "* ", "하지만", "" } },
{ "but", { "* ", "하지만 ", " " } },
{ "examples", { "" } },
{ "feature", { "기능" } },
{ "given", { "* ", "조건", "먼저" } },
{ "given", { "* ", "조건 ", "먼저 " } },
{ "rule", { "Rule" } },
{ "scenario", { "시나리오" } },
{ "scenarioOutline", { "시나리오 개요" } },
{ "then", { "* ", "그러면" } },
{ "when", { "* ", "만일", "만약" } }
{ "then", { "* ", "그러면 " } },
{ "when", { "* ", "만일 ", "만약 " } }
}
},
{
Expand Down
16 changes: 8 additions & 8 deletions dart/assets/gherkin-languages.json
Original file line number Diff line number Diff line change
Expand Up @@ -2133,15 +2133,15 @@
"ko": {
"and": [
"* ",
"그리고"
"그리고 "
],
"background": [
"배경"
],
"but": [
"* ",
"하지만",
""
"하지만 ",
" "
],
"examples": [
""
Expand All @@ -2151,8 +2151,8 @@
],
"given": [
"* ",
"조건",
"먼저"
"조건 ",
"먼저 "
],
"name": "Korean",
"native": "한국어",
Expand All @@ -2167,12 +2167,12 @@
],
"then": [
"* ",
"그러면"
"그러면 "
],
"when": [
"* ",
"만일",
"만약"
"만일 ",
"만약 "
]
},
"lt": {
Expand Down
6 changes: 3 additions & 3 deletions dotnet/Gherkin.Specs/Gherkin.Specs.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

<ItemGroup>
<PackageReference Include="FluentAssertions" Version="6.12.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageReference Include="Utf8Json" Version="1.3.7" />
<PackageReference Include="xunit" Version="2.7.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.8">
<PackageReference Include="xunit" Version="2.8.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
Expand Down
16 changes: 8 additions & 8 deletions dotnet/Gherkin/gherkin-languages.json
Original file line number Diff line number Diff line change
Expand Up @@ -2133,15 +2133,15 @@
"ko": {
"and": [
"* ",
"그리고"
"그리고 "
],
"background": [
"배경"
],
"but": [
"* ",
"하지만",
""
"하지만 ",
" "
],
"examples": [
""
Expand All @@ -2151,8 +2151,8 @@
],
"given": [
"* ",
"조건",
"먼저"
"조건 ",
"먼저 "
],
"name": "Korean",
"native": "한국어",
Expand All @@ -2167,12 +2167,12 @@
],
"then": [
"* ",
"그러면"
"그러면 "
],
"when": [
"* ",
"만일",
"만약"
"만일 ",
"만약 "
]
},
"lt": {
Expand Down
2 changes: 1 addition & 1 deletion elixir/mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ defmodule CucumberGherkin.MixProject do
[
{:elixir_uuid, "~> 1.2"},
{:cucumber_messages, "~> 15.0"},
{:ex_doc, "~> 0.32", only: :dev, runtime: false}
{:ex_doc, "~> 0.34", only: :dev, runtime: false}
]
end

Expand Down
6 changes: 3 additions & 3 deletions elixir/mix.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"cucumber_messages": {:hex, :cucumber_messages, "15.0.0", "0c873193e55192d6f7c6fa58f311151d746ec2c8378adba384d3807a1a4c9a44", [:make, :mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:protox, "~> 1.3.0", [hex: :protox, repo: "hexpm", optional: false]}], "hexpm", "c26d123328661d8ec92333770bb017375497d16ca1d5913c07184645f5f27e24"},
"earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"},
"elixir_uuid": {:hex, :elixir_uuid, "1.2.1", "dce506597acb7e6b0daeaff52ff6a9043f5919a4c3315abb4143f0b00378c097", [:mix], [], "hexpm", "f7eba2ea6c3555cea09706492716b0d87397b88946e6380898c2889d68585752"},
"ex_doc": {:hex, :ex_doc, "0.32.0", "896afb57b1e00030f6ec8b2e19d3ca99a197afb23858d49d94aea673dc222f12", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.1", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "ed2c3e42c558f49bda3ff37e05713432006e1719a6c4a3320c7e4735787374e7"},
"ex_doc": {:hex, :ex_doc, "0.34.0", "ab95e0775db3df71d30cf8d78728dd9261c355c81382bcd4cefdc74610bef13e", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "60734fb4c1353f270c3286df4a0d51e65a2c1d9fba66af3940847cc65a8066d7"},
"jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"},
"makeup": {:hex, :makeup, "1.1.1", "fa0bc768698053b2b3869fa8a62616501ff9d11a562f3ce39580d60860c3a55e", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"},
"makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"},
"makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"},
"makeup_erlang": {:hex, :makeup_erlang, "0.1.5", "e0ff5a7c708dda34311f7522a8758e23bfcd7d8d8068dc312b5eb41c6fd76eba", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"},
"makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"},
"nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"},
"protox": {:hex, :protox, "1.3.2", "4d4cf313e93a46982933f9ce6fffe455ec0370e3ea50a382144cb82349c23426", [:mix], [], "hexpm", "6759cd5fed26a05c7deb51558023b588cc946c9cb2fbd5f7b5dc1832153815ca"},
}
16 changes: 8 additions & 8 deletions elixir/priv/gherkin_languages.json
Original file line number Diff line number Diff line change
Expand Up @@ -2133,15 +2133,15 @@
"ko": {
"and": [
"* ",
"그리고"
"그리고 "
],
"background": [
"배경"
],
"but": [
"* ",
"하지만",
""
"하지만 ",
" "
],
"examples": [
""
Expand All @@ -2151,8 +2151,8 @@
],
"given": [
"* ",
"조건",
"먼저"
"조건 ",
"먼저 "
],
"name": "Korean",
"native": "한국어",
Expand All @@ -2167,12 +2167,12 @@
],
"then": [
"* ",
"그러면"
"그러면 "
],
"when": [
"* ",
"만일",
"만약"
"만일 ",
"만약 "
]
},
"lt": {
Expand Down
Loading

0 comments on commit 7b65309

Please sign in to comment.