1
0
Fork 0
mirror of https://github.com/pry/pry.git synced 2022-11-09 12:35:05 -05:00
Commit graph

32 commits

Author SHA1 Message Date
André Luis Leal Cardoso Junior
60e84ee1d8 Make #strip_color only remove colors.
The previous implementation was removing more than that. When Pry.color = false, it was messing up the output of a few commands.
2020-10-05 21:57:25 -03:00
Kyrylo Silin
cd1a9bbe5e Fix offences of the Style/FrozenStringLiteralComment cop
Fixes #1824 (Enabling `# frozen_string_literal: true` in `~/.pryc` crashes most
operations)
2019-05-08 00:14:20 +03:00
Kyrylo Silin
18c45d26c5 rubocop: enable the Style/FrozenStringLiteralComment cop
This will greatly ease Pry support on Ruby 3.0 (when it's out).
2019-05-08 00:13:17 +03:00
Kyrylo Silin
b92065d465 helpers/command_helpers: add tests, refactor variable names
First of all, we move the spec file from `spec` to `spec/helpers`. This is where
it is supposed to be.

Next, we add tests for all the methods that the module defines. During this
process I had to change `module_function` to `extend self`. Rubocop doesn't like
it for some unknown to me reason, so I had to disable the rule. There's no harm
in doing so.

Finally, I refactored some methods (low-hanging fruits only) and discovered that
the `command_error` method is not necessary at all.

All in all, this module is a lot better now but I feel like it shouldn't exist
at all, since almost all methods are very specific to certain Pry commands. It's
hardly a general purpose module for Pry plugins.
2019-03-30 20:53:06 +02:00
Kyrylo Silin
030e74de3c rubocop: fix the Naming/HeredocDelimiterCase cop 2019-03-24 18:14:20 +02:00
Kyrylo Silin
07de304553 rubocop: fix Naming/HeredocDelimiterNaming cop 2019-03-24 15:36:06 +02:00
Kyrylo Silin
b26ca78613 rubocop: fix offences of the Style/PercentLiteralDelimiters cop 2019-03-02 13:22:03 +02:00
Kyrylo Silin
3f094ab428 rubocop: fix the Layout/SpaceInsideArrayPercentLiteral cop 2019-02-26 01:05:58 +02:00
Kyrylo Silin
e61354693f Add .rspec and require 'helper' from there
Just discovered this nice feature of RSpec where it can load all files for
us. Works with `bundle exec rake` and `bundle exec rspec spec/file_spec.rb`,
which covers all use cases.
2018-11-18 14:04:44 +08:00
Kyrylo Silin
04d4f424e3 rubocop: fix offences regarding spaces
Fixes offences of the following cops:

* Layout/SpaceAroundEqualsInParameterDefault
* Layout/SpaceAroundOperators
* Layout/SpaceBeforeBlockBraces
* Layout/SpaceInsideBlockBraces
2018-11-04 17:34:24 +08:00
Kyrylo Silin
d069ca381b rubocop: fix offences of the Layout/EmptyLinesAroundArguments cop 2018-11-04 16:42:25 +08:00
Kyrylo Silin
f33d82779a rubocop: fix offences of the Style/HashSyntax cop 2018-10-13 03:09:29 +08:00
Kyrylo Silin
96c6958cc6 specs: convert to shoulds to expects 2015-03-10 22:49:29 +02:00
Matijs van Zuijlen
3376e6a0db Fix more warnings 2015-01-23 14:03:50 +01:00
Christian Haase
9349a58498 Replace should with specify 2015-01-14 22:36:07 -08:00
Josh Cheek
144d32e1d6 Switch test suite to RSpec
Removes Bacon and Mocha

Reasoning explained in this comment: https://github.com/pry/pry/issues/277#issuecomment-51708712

Mostly this went smoothly. There were a few errors that I fixed along
the way, e.g. tests that were failing but for various reasons still
passed. Should have documented them, but didn't think about it until
very near the end. But generaly, I remember 2 reasons this would happen:
`lambda { raise "omg" }.should.raise(RuntimeError, /not-omg/)` will pass
because the second argument is ignored by Bacon. And `1.should == 2`
will return false instead of raising an error when it is not in an it
block (e.g. if stuck in a describe block, that would just return false)

The only one that I felt unsure about was spec/helpers/table_spec.rb
`Pry::Helpers.tablify_or_one_line('head', %w(ing)).should == 'head: ing'`
This is wrong, but was not failing because it was in a describe block
instead of an it block.  In reality, it returns `"head: ing\n"`,
I updated the test to reflect this, though I don't know for sure
this is the right thing to do

This will fail on master until https://github.com/pry/pry/pull/1281 is merged.
This makes https://github.com/pry/pry/pull/1278 unnecessary.
2014-08-10 17:37:21 -06:00
Robert Gleeson
74135c1890 allow for tests to be run with ease.
'bacon spec/config_spec.rb' instead of 'bacon -I spec spec/config_spec.rb'
2014-03-14 05:31:24 +01:00
yui-knk
9f9c72c82b Remove helpers for spec. Helpers for spec and specs for helper are mixed in spec/helpers, so remove helpers to spec/spec_helpers. 2013-12-21 23:20:42 +09:00
Kyrylo Silin
9074613927 Helpers::tablify: fix FloatDomainError
Before this commit the following snippet didn't work:

  pry(main)> Pry::Helpers.tablify(['foobar', 'baz'], 5)
  #=> FloatDomainError

There was a divison by zero in `Helpers::Table#_recolumn`.

The problem is incorrectly written `until` loop condition. Note that the
longest element in the array has 6 characters. But the second argument
tells `::tablify` that the line width is only 5 characters long.

This commit changes the condition. Now, if you run the same snippet, you
would see that the elements form one column (and the code doesn't blow
up your program).

Possibly, in the described case, the table has unwanted blanks. However,
I'm not very competent in the code, so I'd better not touch it, because
it works.
2013-01-27 06:12:35 +02:00
Conrad Irwin
2c60f93b2d Merge branch 'wip.refactor'
Conflicts:
	lib/pry/completion.rb
	lib/pry/pry_instance.rb
	spec/commands/play_spec.rb
	spec/pry_defaults_spec.rb
2013-01-18 00:19:38 -08:00
☈king
14283aa51f Adjusting ls output for voluminous output
The previous table output was geared mostly for `ls _pry_`, which isn't
a common of hierarchy. After feedback from users such as @envygeeks, we
found a few tweaks that would help the really-small layers such as those
found in Rails or in small classes, namely:

- Rolling it up onto one line, if possible
- Highlighting the heading in the colors familiar to users of GNU ls for
  "directory" style

Additionally, I took the opportunity for toning down the
private/protected method colors, because before they were green and
yellow, now they're both "muted terminal blue"

Without the ability to really get in and really distinguish colors (e.g.
using 256 colors), giving "protected" such a loud color seems wrong.

Before recoloring:
  https://github.com/pry/pry/issues/813#issuecomment-12355179
After:
  https://github.com/pry/pry/issues/813#issuecomment-12355941
2013-01-17 23:15:31 +00:00
☈king
139a2a7a0a Extract Table to its own file 2013-01-09 17:18:44 -06:00
Conrad Irwin
b9117c8619 Tidier test for BasicObject support 2012-12-28 14:19:38 -08:00
Ryan Fitzgerald
ba3457686f Record initial prompt too 2012-12-23 20:05:37 -08:00
Ryan Fitzgerald
4b5d47cd60 Fix tester for nested-instance case 2012-12-23 19:58:18 -08:00
Ryan Fitzgerald
988b27c071 Switch from fibers to threads 💔 2012-12-23 18:57:25 -08:00
Ryan Fitzgerald
00c2fc935d Test command mutating eval_string instead of Ruby doing it
It probably isn't actually important to support Ruby mutating
eval_string.
2012-12-23 15:22:02 -08:00
Ryan Fitzgerald
4edafaee0f ReplTester API changes; add failing spec 2012-12-23 12:25:48 -08:00
Ryan Fitzgerald
3c6ffaf69c Slightly refactor REPL initialization 2012-12-23 00:08:40 -08:00
Ryan Fitzgerald
6ee0f4a32b Add integration tester, failing spec 2012-12-23 00:03:29 -08:00
Conrad Irwin
d31967799c Remove more rep() from spec/pry_spec.rb 2012-12-18 00:11:08 -08:00
Ryan Fitzgerald
038bdf8a91 Move some testing code into spec/helpers/ 2012-12-08 17:14:25 -08:00