-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for binary files #42
Merged
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
4aae76a
Return correct filesize for binary files
AndyBitz 303a30c
Added a testcase for binary files
AndyBitz 39d651a
Fixed unexpected linting error in different file
AndyBitz 70b842b
Removed linting error from before
AndyBitz 908cc39
Added test for CachedSource.js
AndyBitz 6decf97
Added another test to CachedSource.js to test the cached value
AndyBitz 7976d42
Added more tests to CachedSource.js
AndyBitz 2bd451e
Added missing type in readme
AndyBitz 55c06b9
Use Buffer.from().length instead to get the length; Fixes #18
AndyBitz ca4d94b
Support for older node versions
AndyBitz a829b0f
Correct support for older node versions
AndyBitz a366b80
Don't call source() if it is cached
AndyBitz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,8 @@ class Source { | |
} | ||
|
||
size() { | ||
return this.source().length; | ||
if(Buffer.from.length === 1) return new Buffer(this.source()).length; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. - new Buffer
+ Buffer.from |
||
return Buffer.byteLength(this.source()) | ||
} | ||
|
||
map(options) { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
var should = require("should"); | ||
var CachedSource = require("../lib/CachedSource"); | ||
var OriginalSource = require('../lib/OriginalSource'); | ||
|
||
describe("CachedSource", function() { | ||
it("should return the correct size for binary files", function() { | ||
var source = new OriginalSource(new ArrayBuffer(256), "file.wasm"); | ||
var cachedSource = new CachedSource(source); | ||
|
||
cachedSource.size().should.be.eql(256); | ||
cachedSource.size().should.be.eql(256); | ||
}); | ||
|
||
it("should return the correct size for cached binary sources", function() { | ||
var source = new OriginalSource(new ArrayBuffer(256), "file.wasm"); | ||
var cachedSource = new CachedSource(source); | ||
|
||
cachedSource.source(); | ||
cachedSource.size().should.be.eql(256); | ||
cachedSource.size().should.be.eql(256); | ||
}); | ||
|
||
it("should return the correct size for text files", function() { | ||
var source = new OriginalSource("TestTestTest", "file.js"); | ||
var cachedSource = new CachedSource(source); | ||
|
||
cachedSource.size().should.be.eql(12); | ||
cachedSource.size().should.be.eql(12); | ||
}); | ||
|
||
it("should return the correct size for cached text files", function() { | ||
var source = new OriginalSource("TestTestTest", "file.js"); | ||
var cachedSource = new CachedSource(source); | ||
|
||
cachedSource.source(); | ||
cachedSource.size().should.be.eql(12); | ||
cachedSource.size().should.be.eql(12); | ||
}); | ||
|
||
it("should return the correct size for unicode files", function() { | ||
var source = new OriginalSource("😋", "file.js"); | ||
var cachedSource = new CachedSource(source); | ||
|
||
cachedSource.size().should.be.eql(4); | ||
cachedSource.size().should.be.eql(4); | ||
}); | ||
|
||
it("should return the correct size for cached unicode files", function() { | ||
var source = new OriginalSource("😋", "file.js"); | ||
var cachedSource = new CachedSource(source); | ||
|
||
cachedSource.source(); | ||
cachedSource.size().should.be.eql(4); | ||
cachedSource.size().should.be.eql(4); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried that, but that causes the tests to fail for pre node 5.10.
Buffer.from.length
checks if it supportsBuffer.from
and if it is equal to 1, it doesn'tThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And if it is after 5.10, it supports
Buffer.byteLength
.