diff options
-rw-r--r-- | advtrains/atcjit.lua | 6 | ||||
-rw-r--r-- | advtrains/tests/atcjit_spec.lua | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/advtrains/atcjit.lua b/advtrains/atcjit.lua index 6ce908b..708d035 100644 --- a/advtrains/atcjit.lua +++ b/advtrains/atcjit.lua @@ -16,10 +16,10 @@ command involves waiting, it should: argument and the error message as the second argument. ]] local matchptn = { - ["A[01FT]"] = function(match) + ["A([01FT])"] = function(_, match) return string.format( - "advtrains.interlocking.set_ars_disable(train,%s)", - (match=="0" or match=="F") and "true" or "false"), false + "train.ars_disable=%s", + (match=="0" or match=="F") and "true" or "false") end, ["BB"] = function() return [[do diff --git a/advtrains/tests/atcjit_spec.lua b/advtrains/tests/atcjit_spec.lua index 6d8b3f4..638e5c8 100644 --- a/advtrains/tests/atcjit_spec.lua +++ b/advtrains/tests/atcjit_spec.lua @@ -167,5 +167,13 @@ end) describe("ATC track reusing malformed code", function() local t = {atc_command = "I?;"} - thisatc("Should report the invalid I statement", t, {}, "Invalid I statement", t) + thisatc("should report the invalid I statement", t, {}, "Invalid I statement", t) end) + +describe("ATC track that sets ARS modes", function() + local t = {atc_command = "A0WA1WAFWAT"} + thisatc("should disable ARS on the train with A0", t, {}, nil, {atc_wait_finish=true, ars_disable=true, atc_command="A1WAFWAT"}) + thisatc("should enable ARS on the train with A1", t, {}, nil, {atc_wait_finish=true, ars_disable=false, atc_command="AFWAT"}) + thisatc("should disable ARS on the train with AF", t, {}, nil, {atc_wait_finish=true, ars_disable=true, atc_command="AT"}) + thisatc("should enable ARS on the train with AT", t, {}, nil, {atc_wait_finish=true, ars_disable=false,}) +end)
\ No newline at end of file |