diff options
author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2024-05-23 00:29:26 +0200 |
---|---|---|
committer | Thijs Schreijer <thijs@thijsschreijer.nl> | 2024-05-23 00:29:26 +0200 |
commit | b3cd71ddf2bbadb63fa4dc4ef1147b5c4ae95994 (patch) | |
tree | 28224f6af3253f0ca9ee6b17980e4dc24b907cba | |
parent | e1a8aede05d3217882cf2de426f0a87a659e4308 (diff) | |
download | luasystem-b3cd71ddf2bbadb63fa4dc4ef1147b5c4ae95994.tar.gz luasystem-b3cd71ddf2bbadb63fa4dc4ef1147b5c4ae95994.tar.bz2 luasystem-b3cd71ddf2bbadb63fa4dc4ef1147b5c4ae95994.zip |
add final (failing for now) tests, to be fixed
-rw-r--r-- | spec/04-term_spec.lua | 95 |
1 files changed, 91 insertions, 4 deletions
diff --git a/spec/04-term_spec.lua b/spec/04-term_spec.lua index 3dc4660..c5b91e6 100644 --- a/spec/04-term_spec.lua +++ b/spec/04-term_spec.lua | |||
@@ -174,18 +174,97 @@ describe("Terminal:", function() | |||
174 | 174 | ||
175 | 175 | ||
176 | 176 | ||
177 | pending("tcgetattr()", function() | 177 | describe("tcgetattr()", function() |
178 | 178 | ||
179 | pending("sets the consoleflags, if called with flags", function() | 179 | pending("gets the terminal flags", function() |
180 | end) | ||
181 | |||
182 | |||
183 | win_it("gets the terminal flags, always 0", function() | ||
184 | local flags, err = system.tcgetattr(io.stdin) | ||
185 | assert.is_nil(err) | ||
186 | assert.is_table(flags) | ||
187 | assert.equals("bitflags:", tostring(flags.iflag):sub(1,9)) | ||
188 | assert.equals("bitflags:", tostring(flags.oflag):sub(1,9)) | ||
189 | assert.equals("bitflags:", tostring(flags.lflag):sub(1,9)) | ||
190 | assert.equals("bitflags:", tostring(flags.cflag):sub(1,9)) | ||
191 | assert.equals(0, flags.iflag:value()) | ||
192 | assert.equals(0, flags.oflag:value()) | ||
193 | assert.equals(0, flags.lflag:value()) | ||
194 | assert.equals(0, flags.cflag:value()) | ||
195 | assert.same({}, flags.cc) | ||
196 | end) | ||
197 | |||
198 | |||
199 | it("returns an error if called with an invalid argument", function() | ||
200 | assert.has.error(function() | ||
201 | system.tcgetattr("invalid") | ||
202 | end, "bad argument #1 to 'tcgetattr' (FILE* expected, got string)") | ||
180 | end) | 203 | end) |
181 | 204 | ||
182 | end) | 205 | end) |
183 | 206 | ||
184 | 207 | ||
185 | 208 | ||
186 | pending("tcsetattr()", function() | 209 | describe("tcsetattr()", function() |
210 | |||
211 | nix_it("sets the terminal flags, if called with flags", function() | ||
212 | assert.equal(true, false) | ||
213 | end) | ||
214 | |||
215 | |||
216 | win_it("sets the terminal flags, if called with flags, always succeeds", function() | ||
217 | local success, err = system.tcsetattr(io.stdin, system.TCSANOW, system.tcgetattr(io.stdin)) | ||
218 | assert.is_nil(err) | ||
219 | assert.is_true(success) | ||
220 | end) | ||
221 | |||
222 | |||
223 | it("returns an error if called with an invalid first argument", function() | ||
224 | assert.has.error(function() | ||
225 | system.tcsetattr("invalid") | ||
226 | end, "bad argument #1 to 'tcsetattr' (FILE* expected, got string)") | ||
227 | end) | ||
228 | |||
229 | |||
230 | it("returns an error if called with an invalid second argument", function() | ||
231 | assert.has.error(function() | ||
232 | system.tcsetattr(io.stdin, "invalid") | ||
233 | end, "bad argument #2 to 'tcsetattr' (number expected, got string)") | ||
234 | end) | ||
235 | |||
236 | |||
237 | it("returns an error if called with an invalid third argument", function() | ||
238 | assert.has.error(function() | ||
239 | system.tcsetattr(io.stdin, system.TCSANOW, "invalid") | ||
240 | end, "bad argument #3 to 'tcsetattr' (table expected, got string)") | ||
241 | end) | ||
242 | |||
243 | |||
244 | it("returns an error if iflag is not a bitflags object", function() | ||
245 | local flags = assert(system.tcgetattr(io.stdin)) | ||
246 | flags.iflag = 0 | ||
247 | assert.has.error(function() | ||
248 | system.tcsetattr(io.stdin, system.TCSANOW, flags) | ||
249 | end, "bad argument #3 to 'tcsetattr' (table expected, got number)") | ||
250 | end) | ||
251 | |||
252 | |||
253 | it("returns an error if oflag is not a bitflags object", function() | ||
254 | local flags = assert(system.tcgetattr(io.stdin)) | ||
255 | flags.oflag = 0 | ||
256 | assert.has.error(function() | ||
257 | system.tcsetattr(io.stdin, system.TCSANOW, flags) | ||
258 | end, "bad argument #3 to 'tcsetattr' (table expected, got number)") | ||
259 | end) | ||
260 | |||
187 | 261 | ||
188 | pending("sets the consoleflags, if called with flags", function() | 262 | it("returns an error if lflag is not a bitflags object", function() |
263 | local flags = assert(system.tcgetattr(io.stdin)) | ||
264 | flags.lflag = 0 | ||
265 | assert.has.error(function() | ||
266 | system.tcsetattr(io.stdin, system.TCSANOW, flags) | ||
267 | end, "bad argument #3 to 'tcsetattr' (table expected, got number)") | ||
189 | end) | 268 | end) |
190 | 269 | ||
191 | end) | 270 | end) |
@@ -314,12 +393,20 @@ describe("Terminal:", function() | |||
314 | assert.is_boolean(nb) | 393 | assert.is_boolean(nb) |
315 | end) | 394 | end) |
316 | 395 | ||
396 | |||
317 | win_it("gets the non-blocking flag, always false", function() | 397 | win_it("gets the non-blocking flag, always false", function() |
318 | local nb, err = system.getnonblock(io.stdin) | 398 | local nb, err = system.getnonblock(io.stdin) |
319 | assert.is_nil(err) | 399 | assert.is_nil(err) |
320 | assert.is_false(nb) | 400 | assert.is_false(nb) |
321 | end) | 401 | end) |
322 | 402 | ||
403 | |||
404 | it("returns an error if called with an invalid argument", function() | ||
405 | assert.has.error(function() | ||
406 | system.getnonblock("invalid") | ||
407 | end, "bad argument #1 to 'getnonblock' (FILE* expected, got string)") | ||
408 | end) | ||
409 | |||
323 | end) | 410 | end) |
324 | 411 | ||
325 | 412 | ||