diff options
author | Thijs <thijs@thijsschreijer.nl> | 2024-05-20 23:05:08 +0200 |
---|---|---|
committer | Thijs <thijs@thijsschreijer.nl> | 2024-05-20 23:08:09 +0200 |
commit | 52367bec91db06afaad8ed9c173e9fe0c50ec864 (patch) | |
tree | 0e21286aaa68e2d767b1b9d3885badc2b27fa3c5 | |
parent | 06c186da3c9108c9d0378e25a18bc6f605d43644 (diff) | |
download | luasystem-52367bec91db06afaad8ed9c173e9fe0c50ec864.tar.gz luasystem-52367bec91db06afaad8ed9c173e9fe0c50ec864.tar.bz2 luasystem-52367bec91db06afaad8ed9c173e9fe0c50ec864.zip |
add setconsoleflags tests
-rw-r--r-- | spec/04-term_spec.lua | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/spec/04-term_spec.lua b/spec/04-term_spec.lua index 487a0ce..77d2ce3 100644 --- a/spec/04-term_spec.lua +++ b/spec/04-term_spec.lua | |||
@@ -109,15 +109,15 @@ describe("Terminal:", function() | |||
109 | describe("getconsoleflags()", function() | 109 | describe("getconsoleflags()", function() |
110 | 110 | ||
111 | win_it("returns the consoleflags #manual", function() | 111 | win_it("returns the consoleflags #manual", function() |
112 | local flags, err = system.getconsoleflags(io.stdin) | 112 | local flags, err = system.getconsoleflags(io.stdout) |
113 | assert.is_nil(err) | 113 | assert.is_nil(err) |
114 | assert.is_userdata(flags) | 114 | assert.is_userdata(flags) |
115 | assert.equals("bitflags:", tostring(flags):sub(1,9)) | 115 | assert.equals("bitflags:", tostring(flags):sub(1,9)) |
116 | end) | 116 | end) |
117 | 117 | ||
118 | 118 | ||
119 | nix_it("returns the consoleflags, as value 0", function() | 119 | nix_it("returns the consoleflags, always value 0", function() |
120 | local flags, err = system.getconsoleflags(io.stdin) | 120 | local flags, err = system.getconsoleflags(io.stdout) |
121 | assert.is_nil(err) | 121 | assert.is_nil(err) |
122 | assert.is_userdata(flags) | 122 | assert.is_userdata(flags) |
123 | assert.equals("bitflags:", tostring(flags):sub(1,9)) | 123 | assert.equals("bitflags:", tostring(flags):sub(1,9)) |
@@ -135,9 +135,39 @@ describe("Terminal:", function() | |||
135 | 135 | ||
136 | 136 | ||
137 | 137 | ||
138 | pending("setconsoleflags()", function() | 138 | describe("setconsoleflags()", function() |
139 | 139 | ||
140 | pending("sets the consoleflags, if called with flags", function() | 140 | win_it("sets the consoleflags #manual", function() |
141 | local old_flags = assert(system.getconsoleflags(io.stdout)) | ||
142 | finally(function() | ||
143 | system.setconsoleflags(io.stdout, old_flags) | ||
144 | end) | ||
145 | |||
146 | local new_flags | ||
147 | if old_flags:has_all_of(system.COF_VIRTUAL_TERMINAL_PROCESSING) then | ||
148 | new_flags = old_flags - system.COF_VIRTUAL_TERMINAL_PROCESSING | ||
149 | else | ||
150 | new_flags = old_flags + system.COF_VIRTUAL_TERMINAL_PROCESSING | ||
151 | end | ||
152 | |||
153 | local success, err = system.setconsoleflags(io.stdout, new_flags) | ||
154 | assert.is_nil(err) | ||
155 | assert.is_true(success) | ||
156 | |||
157 | local updated_flags = assert(system.getconsoleflags(io.stdout)) | ||
158 | assert.equals(new_flags:value(), updated_flags:value()) | ||
159 | end) | ||
160 | |||
161 | |||
162 | nix_it("sets the consoleflags, always succeeds", function() | ||
163 | assert(system.setconsoleflags(io.stdout, system.getconsoleflags(io.stdout))) | ||
164 | end) | ||
165 | |||
166 | |||
167 | it("returns an error if called with an invalid argument", function() | ||
168 | assert.has.error(function() | ||
169 | system.setconsoleflags("invalid") | ||
170 | end, "bad argument #1 to 'setconsoleflags' (FILE* expected, got string)") | ||
141 | end) | 171 | end) |
142 | 172 | ||
143 | end) | 173 | end) |