Comments (8)
I created an issue in rails/rails.
from html-pipeline.
So much for clean OO design; the attitude expressed in that Rails bug is pretty brusque. I suppose anybody in this position is expected to fork AS 4.0.5 or 3.2.18 and cherry-pick from upstream forever. 👎
from html-pipeline.
Since ActiveSupport
won't change their gemspec
, we must explore other options.
- Refactor test suite to use minitest gem instead of stdlib
test/unit
- Before the test helper requires
'test/unit'
, we could explicitly require the stdlib'minitest/unit'
, sotest/unit
does not require the minitest gem.
Option 2 might be OK, but the code might be hacky.
Option 1 didn't seem reasonable, but Ruby 2.2.0 is removing stdlib test!
From ruby/NEWS:
- lib/test/*/.rb
- Removed because it conflicts to minitest 5, and it was just an wrapper
of minitest 4. [Feature #9711]
Maybe option 1 is the right choice... Thoughts?
from html-pipeline.
@simeonwillbanks Agree with your assessment of both options. 👍 for Option 1
from html-pipeline.
I love minitest, but hate that it's a gem rather than in the stdlib. That's orthogonal to this discussion though. I'm 👍 to seeing a option 1 PR with minitest.
from html-pipeline.
Feature #9711 - "Remove test-unit and minitest from stdlib" details the removal.
Feature #9852 - "How to bundle test-unit2 and minitest5" discusses what's next.
It appears the stdlib minitest is and will be the minitest gem. Ruby trunk imports the minitest gem into the stdlib.
That said, I still think we should bundle the minitest gem and proceed with the refactor because ActiveSupport is depending upon minitest via development_dependency
. The ActiveSupport minitest version doesn't match the stdlib version, and this could continue. We'll have less issues matching ActiveSupport rather than the stdlib. 😄
Thanks for the input @jdickey and @jch. I'll start a Pull Request.
from html-pipeline.
Is ActiveSupport really a runtime dependency still? I know the instrumentation stuff is expecting something that implements ActiveSupport::Notifications, but it doesn't seem to actually depend on it inheriting from that. Is there something else I'm missing outside of the tests?
I made a branch that removes ActiveSupport entirely (replacing the HTML fragment comparison functionality with something based on lorax) and all the unit tests still pass on 1.9.3 at least. (Happy to submit this as a PR if you like.)
ActiveSupport is just kind of a large and opinionated dependency to add to non-Rails based apps if it's not strictly necessary.
from html-pipeline.
e00c3c9 fixes this issue.
from html-pipeline.
Related Issues (20)
- Where is this inserting the p tag?
- Changing the list of commonmarker extensions with custom renderer is broken HOT 2
- console rendering of slash continued multi-line commands HOT 2
- Jch html-pipeline
- Add MathML elements to whitelist HOT 4
- Change branch name off of `master` HOT 1
- Invalid and missing HTML elements in the sanatizer
- V3 ideas HOT 1
- Allow picture tag in sanitation HOT 1
- Canalizacion de HTML
- Html-pipeline
- I would love to use the vscode codicon.ttf in my readme.md HOT 1
- 2.14.0 is disconnected HOT 4
- Allow `loading` attribute on images HOT 5
- Since bump 2.14.2 builds are failing HOT 3
- Allow vertical-align HOT 1
- Indicate a version for activesupport that has support/receives security patches (>= 6?) HOT 2
- v3: Question regarding requiring a ConvertFilter if there are NodeFilters HOT 1
- v3 gemoji, gemojione seem required - is there a way to not require at puma startup? HOT 2
- Suggestion: add more tags to the sanitization filter HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from html-pipeline.