зеркало из https://github.com/github/ruby.git
console.c: fix unit of min
* ext/io/console/console.c (rawmode_opt): min is minimum characters, not tenths. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
47dc049f61
Коммит
f050b22327
|
@ -1,3 +1,8 @@
|
||||||
|
Sun Feb 3 16:54:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* ext/io/console/console.c (rawmode_opt): min is minimum characters,
|
||||||
|
not tenths.
|
||||||
|
|
||||||
Sun Feb 3 16:13:00 2013 Charlie Somerville <charlie@charliesomerville.com>
|
Sun Feb 3 16:13:00 2013 Charlie Somerville <charlie@charliesomerville.com>
|
||||||
|
|
||||||
* doc/security.rdoc: add first cut at a Ruby security document
|
* doc/security.rdoc: add first cut at a Ruby security document
|
||||||
|
|
|
@ -105,13 +105,12 @@ rawmode_opt(int argc, VALUE *argv, rawmode_arg_t *opts)
|
||||||
if (!NIL_P(vopts)) {
|
if (!NIL_P(vopts)) {
|
||||||
VALUE vmin = rb_hash_aref(vopts, ID2SYM(rb_intern("min")));
|
VALUE vmin = rb_hash_aref(vopts, ID2SYM(rb_intern("min")));
|
||||||
VALUE vtime = rb_hash_aref(vopts, ID2SYM(rb_intern("time")));
|
VALUE vtime = rb_hash_aref(vopts, ID2SYM(rb_intern("time")));
|
||||||
VALUE v10 = INT2FIX(10);
|
|
||||||
if (!NIL_P(vmin)) {
|
if (!NIL_P(vmin)) {
|
||||||
vmin = rb_funcall3(vmin, '*', 1, &v10);
|
|
||||||
opts->vmin = NUM2INT(vmin);
|
opts->vmin = NUM2INT(vmin);
|
||||||
optp = opts;
|
optp = opts;
|
||||||
}
|
}
|
||||||
if (!NIL_P(vtime)) {
|
if (!NIL_P(vtime)) {
|
||||||
|
VALUE v10 = INT2FIX(10);
|
||||||
vtime = rb_funcall3(vtime, '*', 1, &v10);
|
vtime = rb_funcall3(vtime, '*', 1, &v10);
|
||||||
opts->vtime = NUM2INT(vtime);
|
opts->vtime = NUM2INT(vtime);
|
||||||
optp = opts;
|
optp = opts;
|
||||||
|
|
|
@ -25,6 +25,38 @@ class TestIO_Console < Test::Unit::TestCase
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_raw_minchar
|
||||||
|
len = 0
|
||||||
|
th = nil
|
||||||
|
helper {|m, s|
|
||||||
|
th = Thread.start {
|
||||||
|
m.print("a")
|
||||||
|
len += 1
|
||||||
|
sleep 2
|
||||||
|
m.print("1234567890")
|
||||||
|
len += 10
|
||||||
|
}
|
||||||
|
assert_equal(["a", 1], [s.getch(min: 1), len])
|
||||||
|
}
|
||||||
|
ensure
|
||||||
|
th.kill if th and th.alive?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_raw_timeout
|
||||||
|
len = 0
|
||||||
|
th = nil
|
||||||
|
helper {|m, s|
|
||||||
|
th = Thread.start {
|
||||||
|
sleep 2
|
||||||
|
m.print("a")
|
||||||
|
len += 1
|
||||||
|
}
|
||||||
|
assert_equal([nil, 0], [s.getch(time: 0.1), len])
|
||||||
|
}
|
||||||
|
ensure
|
||||||
|
th.kill if th and th.alive?
|
||||||
|
end
|
||||||
|
|
||||||
def test_cooked
|
def test_cooked
|
||||||
helper {|m, s|
|
helper {|m, s|
|
||||||
assert_send([s, :echo?])
|
assert_send([s, :echo?])
|
||||||
|
|
Загрузка…
Ссылка в новой задаче