summaryrefslogtreecommitdiff
path: root/test/irb/test_context.rb
AgeCommit message (Collapse)Author
2022-11-17Drop Ruby 2.5 supportst0012
Because it has reached EOL for more than 1.5 years and it won't be supported by the next reline version either.
2022-11-15[ruby/irb] Remove duplicated TestInputMethod definitionsst0012
https://github.com/ruby/irb/commit/4b831d02e1
2022-11-03[ruby/irb] Provide a base test class and let tests restore encodingsStan Lo
conveniently (https://github.com/ruby/irb/pull/429) * Create a base TestIRB::TestCase class * Save/restore encodings for tests that initializes InputMethod classes Because `RelineInputMethod#initializes` calls `set_encoding`, which changes stdio/out/err and Encoding's default encoding values, we need to make sure any test that directly or indirectly (e.g. through Context) initializes `RelineInputMethod` restores encodings. `ReadlineInputMethod` also changes encodings but currently no tests cover it. * Remove unnecessary TestHelper module Since we now have a base TestCase, without_rdoc can just live there. https://github.com/ruby/irb/commit/c2874ec121
2022-10-18[ruby/irb] Always use local variables in current context to parse code ↵tomoya ishida
(https://github.com/ruby/irb/pull/397) * Use local_variables for colorize, code_block_open check, nesting_level and assignment_expression check * Check if expression is an assignment BEFORE evaluating it. evaluate might define new localvars and change result of assignment_expression? * Add local_variables dependent code test * pend local variable dependent test on truffleruby code_block_open is not working on truffleruby * Always pass context to RubyLex#lex * Rename local_variable_assign_code generator method name * Add assignment expression truncate test * Add Context#local_variables and make generate_local_variables_assign_code more simple * Update lib/irb/input-method.rb Co-authored-by: Stan Lo <stan001212@gmail.com> * Add a comment why assignment expression check should be done before evaluate https://github.com/ruby/irb/commit/c8b3877281 Co-authored-by: Stan Lo <stan001212@gmail.com> Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2022-06-29[ruby/irb] Properly reset USE_COLORIZE after changing it in testsst0012
Some context tests assigns USE_COLORIZE to false and never change it back. This can potentially affect other tests' result as the default should be nil (activated) instead. https://github.com/ruby/irb/commit/986eb16ece
2022-06-28[ruby/irb] Centralize coloring control (https://github.com/ruby/irb/pull/374)Stan Lo
* Use colorable: argument as the only coloring control * Centalize color controling logic at Color.colorable? There are 2 requirements for coloring output: 1. It's supported on the platform 2. The user wants it: `IRB.conf[:USE_COLORIZE] == true` Right now we check 1 and 2 separately whenever we colorize things. But it's error-prone because while 1 is the default of `colorable` parameter, 2 always need to manually checked. When 2 is overlooked, it causes issues like https://github.com/ruby/irb/pull/362 And there's 0 case where we may want to colorize even when the user disables it. So I think we should merge 2 into `Color.colorable?` so it can be automatically picked up. * Add tests for all inspect modes * Simplify inspectors' coloring logic * Replace use_colorize? with Color.colorable? * Remove Context#use_colorize cause it's redundant https://github.com/ruby/irb/commit/1c53023ac4
2022-06-26[ruby/irb] Set prompt mode explictlyNobuyoshi Nakada
Fix https://github.com/ruby/irb/pull/353 https://github.com/ruby/irb/commit/7db93f9326
2022-06-26[ruby/irb] Require stringio to use StringIONobuyoshi Nakada
https://github.com/ruby/irb/commit/e024ab716b
2022-06-26[ruby/irb] Ensure stdout is a TTY before calling winsizePeter Jones
When outputting a (possibly truncated) value, IRB will query the window size. However, if IRB was piped to another process, stdout will no longer be a TTY and will not support the `winsize` method. This fix ensure that stdout is a TTY. https://github.com/ruby/irb/commit/125de5eeea
2021-12-21[ruby/irb] Check colorize option correctly to clear char attr and don't use ↵aycabta
it for tests https://github.com/ruby/irb/commit/de561cafeb
2021-10-11[ruby/irb] Set default return_formataycabta
https://github.com/ruby/irb/commit/7ee15bc668
2021-08-30[ruby/irb] Relax backtrace nest levelsNobuyoshi Nakada
https://github.com/ruby/irb/commit/fb637bc68f
2021-08-30[ruby/irb] Added the extra stdout message with test-unitHiroshi SHIBATA
https://github.com/ruby/irb/commit/b153d587a1
2021-08-30[ruby/irb] Use capture_output instead of capture_ioHiroshi SHIBATA
https://github.com/ruby/irb/commit/077e4ae7de
2021-08-30[ruby/irb] Use pend instead of skipHiroshi SHIBATA
https://github.com/ruby/irb/commit/f441ce35bf
2021-08-30Add --autocomplete / --noautocomplete optionsaycabta
2021-02-03[ruby/irb] follow up the actual line numberNobuhiro IMAI
https://github.com/ruby/irb/commit/7aed8fe3b1
2021-01-19[ruby/irb] Stub a screen size for test_contextTakashi Kokubun
http://ci.rvm.jp/logfiles/brlog.trunk-random1.20210119-074232 https://github.com/ruby/irb/commit/ea87592d4a
2021-01-18[ruby/irb] Support GitHub ActionsTakashi Kokubun
https://github.com/ruby/irb/commit/8e9e6c4037
2021-01-18[ruby/irb] skip a failling test on TruffleRubyNobuhiro IMAI
* due to the difference of backtrace pointed out by @aycabta https://github.com/ruby/irb/commit/5e00a0ae61
2021-01-18[ruby/irb] handle repeated exception separatelyNobuhiro IMAI
https://github.com/ruby/irb/commit/fcf6b34bc5
2021-01-08[ruby/irb] Fix BACK_TRACE_LIMIT logicaycabta
https://github.com/ruby/irb/commit/30dc5d43fe
2021-01-08[ruby/irb] Use Exception#full_message to show backtrace in the correct orderaycabta
[Bug #17466] https://github.com/ruby/irb/commit/1c76845cca
2021-01-08[ruby/irb] refactoring an error handling in `IRB::Inspector`Nobuhiro IMAI
* moved rescue clause to `#inspect_value` to catch all failures in inspectors * test with all (currently five kind of) inspect modes - tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject` https://github.com/ruby/irb/commit/9d112fab8e
2020-12-28[ruby/irb] Fix failing testsTakashi Kokubun
https://github.com/ruby/irb/commit/7723ade899
2020-12-17[ruby/irb] Skip the few failing tests on TruffleRubyBenoit Daloze
https://github.com/ruby/irb/commit/22717844c0
2020-09-19[ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ↵aycabta
ECHO_ON_ASSIGNMENT https://github.com/ruby/irb/commit/4c89b0775b
2020-09-14[ruby/irb] Omit output if first line of multiline is too longaycabta
https://github.com/ruby/irb/commit/0feeae38c5
2020-09-14[ruby/irb] Add OMIT_ON_ASSIGNMENTaycabta
Omit the results evaluated at assignment if they are too long. The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand, so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by default. The result is displayed on assignment, but it will always be short and within one line of the screen. https://github.com/ruby/irb/commit/c5ea79d5ce
2020-07-22Sometimes result indicator (=>) isn't shownaycabta
2020-07-22Use simple assersionaycabta
2020-07-22[ruby/irb] Add test_eval_object_without_inspect_methodaycabta
https://github.com/ruby/irb/commit/c0d9a26bce
2020-03-26[ruby/irb] Suppress crashing when EncodingError has occurred without linenoaycabta
https://github.com/ruby/irb/commit/13572d8cdc
2020-01-21[ruby/irb] Add newline_before_multiline_outputKenta Murata
https://github.com/ruby/irb/commit/9eb1801a66
2019-11-21Use singleline/multiline instead of readline/reidlineaycabta
2019-11-13Suppress warnings except for when last evaluationaycabta
Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
2019-08-16Set IRB::Context#return_format on test clarifyaycabta
2019-08-16Don't echo results of assignment expressionsSteven Willis
2019-08-08Aliases capture_output to capture_io for test-unit compatiblity.Hiroshi SHIBATA
2019-08-06Revert "Don't echo results of assignment expressions"aycabta
This reverts commit 1ee88c51b3c319b74b69540e111e4a1c24833cad.
2019-08-06Don't echo results of assignment expressionsSteven Willis
2019-05-27context.rb: hide wrapping linesNobuyoshi Nakada
* lib/irb/context.rb (IRB::Context#evaluate): separate the code from wrapping lines to propagate the given exception, not to show the wrapping lines when SyntaxError.
2019-05-21Copy config to make IRB::Context#use_colorize? functionalTakashi Kokubun
on initialize This fixes https://github.com/ruby/ruby/pull/2188
2019-04-27suppress warning in test/irbnaruse
https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20190421T040003Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Re-committing https://github.com/ruby/ruby/commit/7f09b5e9da8f83f84c5b6ae7a644a562811fec73
2019-04-26make sync-default-gems GEM=irbTakashi Kokubun
from https://github.com/ruby/irb/commit/e6739d8c66dc78562930adb0b96935c9b38acf74
2019-04-21suppress warning in test/irbnaruse
https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20190421T040003Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-12irb.rb: update `_`nobu
* lib/irb.rb (IRB::Irb#eval_input): update `_` after exception. [ruby-core:86989] [Bug #14749] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-12fix TestInputMethodnobu
* test/irb/test_context.rb (TestInputMethod#initialize): fix typos and increment `line_no` only when not reaching the end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-14irb.rb: restore the last errornobu
* lib/irb.rb (eval_input): restore the last error `$!`, as the previous result. [Feature #14684] * lib/irb/context.rb (evaluate): add `exception` keyword argument to set the last error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-14irb/{context,workspace}.rb: use local_variable_setnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e