minitest version 5.22.1 has been released!
* home: <https://github.com/minitest/minitest>
* bugs: <https://github.com/minitest/minitest/issues>
* rdoc: <https://docs.seattlerb.org/minitest>
* clog: <https://github.com/minitest/minitest/blob/master/History.rdoc>
* vim: <https://github.com/sunaku/vim-ruby-minitest>
* emacs: <https://github.com/arthurnn/minitest-emacs>
minitest provides a complete suite of testing facilities supporting
TDD, BDD, mocking, and benchmarking.
"I had a class with Jim Weirich on testing last week and we were
allowed to choose our testing frameworks. Kirk Haines and I were
paired up and we cracked open the code for a few test
frameworks...
I MUST say that minitest is *very* readable / understandable
compared to the 'other two' options we looked at. Nicely done and
thank you for helping us keep our mental sanity."
-- Wayne E. Seguin
minitest/test is a small and incredibly fast unit testing framework.
It provides a rich set of assertions to make your tests clean and
readable.
minitest/spec is a functionally complete spec engine. It hooks onto
minitest/test and seamlessly bridges test assertions over to spec
expectations.
minitest/benchmark is an awesome way to assert the performance of your
algorithms in a repeatable manner. Now you can assert that your newb
co-worker doesn't replace your linear algorithm with an exponential
one!
minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
object framework.
minitest/pride shows pride in testing and adds coloring to your test
output. I guess it is an example of how to write IO pipes too. :P
minitest/test is meant to have a clean implementation for language
implementors that need a minimal set of methods to bootstrap a working
test suite. For example, there is no magic involved for test-case
discovery.
"Again, I can't praise enough the idea of a testing/specing
framework that I can actually read in full in one sitting!"
-- Piotr Szotkowski
Comparing to rspec:
rspec is a testing DSL. minitest is ruby.
-- Adam Hawkins, "Bow Before MiniTest"
minitest doesn't reinvent anything that ruby already provides, like:
classes, modules, inheritance, methods. This means you only have to
learn ruby to use minitest and all of your regular OO practices like
extract-method refactorings still apply.
Changes:
### 5.22.1 / 2024-02-06
* 1 bug fix:
* Don't exit non-zero if no tests ran and no filter (aka, the test file is empty).
(I'm starting to think the exit 1 thing for @tenderlove was a mistake...)
I have some old code to work with that is more than a little over
engineered. A lot of the code is a method in class A calls a method in
class B which calls a method in class C, turtles all the way down and
mostly class methods and not instance methods. But most of these methods
pretty much do nothing but call methods in another class. I swear there are
loops in there too!
Is there a tool that would allow me to graph this so I might see where the
actual work is being done and shorten these branches?
minitest version 5.22.0 has been released!
* home: <https://github.com/minitest/minitest>
* bugs: <https://github.com/minitest/minitest/issues>
* rdoc: <https://docs.seattlerb.org/minitest>
* clog: <https://github.com/minitest/minitest/blob/master/History.rdoc>
* vim: <https://github.com/sunaku/vim-ruby-minitest>
* emacs: <https://github.com/arthurnn/minitest-emacs>
minitest provides a complete suite of testing facilities supporting
TDD, BDD, mocking, and benchmarking.
"I had a class with Jim Weirich on testing last week and we were
allowed to choose our testing frameworks. Kirk Haines and I were
paired up and we cracked open the code for a few test
frameworks...
I MUST say that minitest is *very* readable / understandable
compared to the 'other two' options we looked at. Nicely done and
thank you for helping us keep our mental sanity."
-- Wayne E. Seguin
minitest/test is a small and incredibly fast unit testing framework.
It provides a rich set of assertions to make your tests clean and
readable.
minitest/spec is a functionally complete spec engine. It hooks onto
minitest/test and seamlessly bridges test assertions over to spec
expectations.
minitest/benchmark is an awesome way to assert the performance of your
algorithms in a repeatable manner. Now you can assert that your newb
co-worker doesn't replace your linear algorithm with an exponential
one!
minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
object framework.
minitest/pride shows pride in testing and adds coloring to your test
output. I guess it is an example of how to write IO pipes too. :P
minitest/test is meant to have a clean implementation for language
implementors that need a minimal set of methods to bootstrap a working
test suite. For example, there is no magic involved for test-case
discovery.
"Again, I can't praise enough the idea of a testing/specing
framework that I can actually read in full in one sitting!"
-- Piotr Szotkowski
Comparing to rspec:
rspec is a testing DSL. minitest is ruby.
-- Adam Hawkins, "Bow Before MiniTest"
minitest doesn't reinvent anything that ruby already provides, like:
classes, modules, inheritance, methods. This means you only have to
learn ruby to use minitest and all of your regular OO practices like
extract-method refactorings still apply.
Changes:
### 5.22.0 / 2024-02-05
* 1 minor enhancement:
* Added "did you mean" output if your --name filter matches nothing. (tenderlove)
* 2 bug fixes:
* Big cleanup of test filtering. Much prettier / more functional.
* Fix situation where Assertion#location can't find the location. (pftg)
flay version 2.13.2 has been released!
* home: <http://ruby.sadi.st/>
* code: <https://github.com/seattlerb/flay>
* rdoc: <http://docs.seattlerb.org/flay/>
Flay analyzes code for structural similarities. Differences in literal
values, variable, class, method names, whitespace, programming style,
braces vs do/end, etc are all ignored. Making this totally rad.
Changes:
### 2.13.2 / 2024-02-05
* 1 bug fix:
* Pass dirs to Flay.run in FlayTask. (adam12)
This release brings a refactored, worry-free installation procedure.
wxRuby3 is a cross-platform GUI library for Ruby, based on the mature wxWidgets GUI
toolkit for C++. It uses native widgets wherever possible, providing the correct look,
feel and behavior to GUI applications on Windows, OS X and Linux/GTK. wxRuby aims to
provide a comprehensive solution to developing professional-standard desktop
applications in Ruby.
wxRuby3 also provides extensive and complete reference documentation.
What's changed in this release:
- the build and installation procedure has been thoroughly refactored with a two-step installation
for source gems (to comply with the intentions of the RubyGems maintainers) which provides automated,
worry-free build and installation; see the updated documentation here:
https://mcorino.github.io/wxRuby3/file.INSTALL.html.
- some documentation improvements
If you are interested check this out:
Documentation: https://mcorino.github.io/wxRuby3/index.html
Github: https://github.com/mcorino/wxruby3
Rubygems: https://rubygems.org/gems/wxruby3
rodauth-oauth 1.4.0 has been released.
rodauth-oauth is a rack-compatible toolkit for building OAuth 2.0
authorization servers, as well as OpenID Authentication Providers.
rodauth-oauth
is certified <https://openid.net/certification/> for the following profiles
of the OpenID Connect™ protocol:
Basic OP, Implicit OP, Hybrid OP, Config OP, Dynamic OP, Form Post OP, 3rd
Party Init OP
Session Management OP, RP-Initiated Logout OP, Front-Channel OP,
Back-Channel OP
# as simple as
rodauth do
enable :oauth_authorization_code_grant
# or
enable :oidc
end
Among its features, it supports:
* Authorization Code Grant
* Refresh Token Grant
* Implicit Grant
* Client Credentials Grant
* Device Code Grant
* Token Revocation
* Token Introspection
* Auth Server Metadata
* PKCE
* Resource Indicators
* JWT Access Tokens
* mTLS Client Authentication
* Assertion Framework
* SAML 2.0 Bearer Assertion Grant
* JWT Bearer Assertion Grant
* JWT Secured authorization requests (JAR)
* JWT Secured authorization response mode (JARM)
* Pushed Authorization requests (PAR)
* Demonstrating Proof-of-Possession at the Application Layer (DPoP)
* Dynamic Client Registration
* OpenID
* OpenID Discovery
* OpenID Multiple Response types
* OpenID Self Issued Tokens
* OpenID Connect Dynamic Client Registration
* OpenID Session Management
* OpenID RP Initiated Logout
* OpenID Frontchannel Logout
* OpenID Backchannel Logout
It can also be used with Rails (via the "rodauth-rails" gem).
Website: https://honeyryderchuck.gitlab.io/rodauth-oauth/
Documentation: https://honeyryderchuck.gitlab.io/rodauth-oauth/rdoc/
Wiki: https://gitlab.com/honeyryderchuck/rodauth-oauth/wikis/home
CI: https://gitlab.com/honeyryderchuck/rodauth-oauth/pipeline
These are the release notes since the last update:
# 1.5.0
## Highlights
### OAuth DPoP Support
`rodauth-oauth` supports Demonstrating Proof-of-Possession at the
Application Layer (also known as DPoP), via the `oauth_dpop` feature.
This provides a mechanism to bind access tokens to a particular client
based on public key cryptography.
More info about the feature [in the
docs](https://gitlab.com/os85/rodauth-oauth/-/wikis/DPoP).
## Improvements
All features managing cookies are now able to configure them as
"session cookies" (i.e. removed on browser shutdown) by setting the
expiration interval auth method to `nil`. This ncludes:
* `oauth_prompt_login_interval` (from the `oidc` feature)
* `oauth_oidc_user_agent_state_cookie_expires_in` (from the
`oidc_session_management` feature)
## Bugfixes
* when using the `oauth_token_instrospection` feature, the
`token_type` has been fixed to show "Bearer" (instead of
"access_token").