Comments (5)
+1 for a require plugin. I tough a bit about this after your talk yesterday, and I was wondering why this wasn't the default approach instead of overwriting require.load
.
As you're already using require to load files in a non-AMD project, I feel the switch to 100% plugin base would be pretty straightforward (I may be wrong though!).
But obviously this would make things easier for project testing in AMD environment as there's basically no script tag used in the process:
https://github.com/SBoudrias/require.replace/blob/master/test/jasmine/index.html
https://github.com/cesine/FieldDB/blob/master/tests/jasmine-main.js
from blanket.
I can't remember if there was a reason I didn't start with a plugin. I know I was inspired by this posting:
https://groups.google.com/forum/#!msg/requirejs/OWwnZxZd9Sk/UzBT10utrzUJ
However, the script tags would always stay in the test runner as we don't want to make the user change their test runner just to use Blanket. That's why we used the data-cover attribute.
I may be able to use the data-cover attribute to collect the scripts, but then use a plugin anyway and eliminate the overloaded requirejs.load.
Thanks for the feedback.
from blanket.
I've got an example working to handle this situation.
What I do is just overload the requirejs.load as usual, but I only instrument the files that match a string or regex set on the blanket object. This works in a similar manner to how I do it on the node side. So for a test runner with an existing reference to requirejs you would now just do:
blanket.loadOnly = "src"; require({ ... your requirejs config ... });
only the files that have "src" in the path will be instrumented, and the rest will be loaded normally.
I should have the example up in a week or so, I need to get it running with phantomjs first.
from blanket.
The reason I didn't use a requirejs plugin (like text) is because that would require changes to the test files, or the requirejs config (i.e. adding "blanket!" in front of all the dependency references). By using the approach above the only change needed to the test runner is to the blanket.loadOnly="src";
line. It's more seamless that way.
from blanket.
I'm going to close this issue, as the problem seems to be resolved. A new release should be up in a week that will be compatible with existing requirejs enabled test runners.
from blanket.
Related Issues (20)
- Commented on: Not seeing any reports - noob alert #244 HOT 1
- _$jscoverage is not defined | blanket 1.2.1 HOT 21
- Reason for replacing ".js" with ""
- In ploymer,the script is written in the component html,is there any method to set data-cover on the script HOT 2
- Publish the latest version HOT 1
- Global object replaced on QUnit test
- How to use Blanket.js in test files loaded with Require.js? HOT 2
- blanket js does not given correct results.
- Can blanket handle source maps?
- documention is wrong for using with mocha HOT 1
- Advice on how to use with WebDriver. HOT 1
- Support for phantomjs 2.1.1 (for blanket to work on ppc64le architecture)
- Coverage for hoisted vars HOT 2
- I am getting Error: invalid reporter "html-cov" HOT 1
- Tests stop running on upgrading to [email protected] HOT 1
- make a new release on the github?
- Instrumentation affects test results.
- Running Jasmine Code Coverage using command Line
- Deprecate this?
- Hi
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 blanket.