Skip to content

cayla-lab#8

Open
caylazabel wants to merge 3 commits intocodefellows-javascript-401d13:masterfrom
caylazabel:master
Open

cayla-lab#8
caylazabel wants to merge 3 commits intocodefellows-javascript-401d13:masterfrom
caylazabel:master

Conversation

@caylazabel
Copy link
Copy Markdown

my tests work and then they dont work when i try to fix things.

"indent": [ "error", 2 ],
"quotes": [ "error", "single" ],
"semi": ["error", "always"],
"linebreak-style": [ "error", "unix" ]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No comma dangle. Boo. :p

'use strict';

const fs = require('fs');
const readFiles = require('./lib/file-reader.js')
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're requiring in your file reader here in the index, but you're not using it here.

Write a version of the function call for the readFiles method so that you can call it here in the index file, and not just in the test file.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, I want you to create a function much like how you did in your tests to take the data from your three files and print them out or do something with them in a meaningful way.

var result = [];

fs.readFile(pathArray[0],function(err, data){
if (err) return callback(err);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice use of returning the callback of the error.


const fs = require('fs');

const readFileHelper = module.exports = function(pathArray, callback) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work making the input an array of paths.

if (err) return callback(err);
result.push(data.toString('hex', 0,8));
console.log('my result:', result);
callback(null, result);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work calling the callback at the bottom with the resulting information and a null for the first argument. Perfect ansynchronous callback pattern.

describe('with bad file paths', function(){
it('should return an error', function(){
readFile([`${__dirname}/dont-exist.txt`], function(err){
expect(!!err).to.equal(true);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff with the double bang here.


describe('with file good file paths', function(){
before((done) => {
this.paths = [
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work using the before block like Brian did during class.

done();
});
it('should have correct order of hex strings', (done) => {
var expectedResult = ['3166696c65206e75', '3366696c65206e75', '3266696c65206e75'];
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect way to check the call is being made asynchronously.

expect(data[1]).to.equal(expectedResult[1]);
expect(data[2]).to.equal(expectedResult[2]);
console.log('data', data);
done();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great use of done here to end things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants