diff --git a/.jshintrc b/.jshintrc index 9965e07b..b95ee9fd 100644 --- a/.jshintrc +++ b/.jshintrc @@ -1,6 +1,8 @@ { "strict": true, "node": true, + "maxparams": 4, + "maxcomplexity": 11, "globals": { "describe": true, "it": true diff --git a/package.json b/package.json index 45c7fff4..34d75082 100755 --- a/package.json +++ b/package.json @@ -43,7 +43,8 @@ "mocha": "^2.1.0", "mocha-jshint": "^0.0.9", "istanbul": "^0.3.5", - "coveralls": "^2.11.2" + "coveralls": "^2.11.2", + "node-cpplint": "^0.4.0" }, "license": "Apache 2.0", "engines": { diff --git a/src/common.cc b/src/common.cc index 23a7678d..a8c670d3 100755 --- a/src/common.cc +++ b/src/common.cc @@ -162,4 +162,4 @@ namespace sharp { return window_size; } -} // namespace +} // namespace sharp diff --git a/src/common.h b/src/common.h index fc414314..cd2dd1ae 100755 --- a/src/common.h +++ b/src/common.h @@ -1,5 +1,5 @@ -#ifndef SHARP_COMMON_H -#define SHARP_COMMON_H +#ifndef SRC_COMMON_H_ +#define SRC_COMMON_H_ namespace sharp { @@ -66,6 +66,6 @@ namespace sharp { */ int InterpolatorWindowSize(char const *name); -} // namespace +} // namespace sharp -#endif +#endif // SRC_COMMON_H_ diff --git a/src/metadata.h b/src/metadata.h index 7a52c3e1..5fa86520 100755 --- a/src/metadata.h +++ b/src/metadata.h @@ -1,8 +1,8 @@ -#ifndef SHARP_METADATA_H -#define SHARP_METADATA_H +#ifndef SRC_METADATA_H_ +#define SRC_METADATA_H_ #include "nan.h" NAN_METHOD(metadata); -#endif +#endif // SRC_METADATA_H_ diff --git a/src/resize.cc b/src/resize.cc index 2e7fd85f..86d8a77b 100755 --- a/src/resize.cc +++ b/src/resize.cc @@ -10,8 +10,29 @@ #include "common.h" #include "resize.h" -using namespace v8; -using namespace sharp; +using v8::Handle; +using v8::Local; +using v8::Value; +using v8::Object; +using v8::Integer; +using v8::String; +using v8::Array; +using v8::Function; +using v8::Exception; + +using sharp::ImageType; +using sharp::DetermineImageType; +using sharp::InitImage; +using sharp::InterpolatorWindowSize; +using sharp::HasProfile; +using sharp::HasAlpha; +using sharp::ExifOrientation; +using sharp::IsJpeg; +using sharp::IsPng; +using sharp::IsWebp; +using sharp::IsTiff; +using sharp::counterProcess; +using sharp::counterQueue; enum class Canvas { CROP, @@ -20,11 +41,11 @@ enum class Canvas { }; enum class Angle { - D0, - D90, - D180, - D270, - DLAST + D0, + D90, + D180, + D270, + DLAST }; struct ResizeBaton { @@ -111,6 +132,7 @@ class ResizeWorker : public NanAsyncWorker { libuv worker */ void Execute() { + // Decrement queued task counter g_atomic_int_dec_and_test(&counterQueue); // Increment processing task counter @@ -316,7 +338,7 @@ class ResizeWorker : public NanAsyncWorker { if (vips_flatten(image, &flattened, "background", background, NULL)) { vips_area_unref(reinterpret_cast(background)); return Error(baton, hook); - }; + } vips_area_unref(reinterpret_cast(background)); vips_object_local(hook, flattened); image = flattened; @@ -510,7 +532,9 @@ class ResizeWorker : public NanAsyncWorker { // Post extraction if (baton->topOffsetPost != -1) { VipsImage *extractedPost; - if (vips_extract_area(image, &extractedPost, baton->leftOffsetPost, baton->topOffsetPost, baton->widthPost, baton->heightPost, NULL)) { + if (vips_extract_area(image, &extractedPost, + baton->leftOffsetPost, baton->topOffsetPost, baton->widthPost, baton->heightPost, NULL + )) { return Error(baton, hook); } vips_object_local(hook, extractedPost); @@ -942,7 +966,7 @@ NAN_METHOD(resize) { baton->output = *String::Utf8Value(options->Get(NanNew("output"))->ToString()); // Join queue for worker thread - NanCallback *callback = new NanCallback(args[1].As()); + NanCallback *callback = new NanCallback(args[1].As()); NanAsyncQueueWorker(new ResizeWorker(callback, baton)); // Increment queued task counter diff --git a/src/resize.h b/src/resize.h index eed266bf..b78bc3ae 100755 --- a/src/resize.h +++ b/src/resize.h @@ -1,8 +1,8 @@ -#ifndef SHARP_RESIZE_H -#define SHARP_RESIZE_H +#ifndef SRC_RESIZE_H_ +#define SRC_RESIZE_H_ #include "nan.h" NAN_METHOD(resize); -#endif +#endif // SRC_RESIZE_H_ diff --git a/src/utilities.cc b/src/utilities.cc index ca3037b8..4aaa356b 100755 --- a/src/utilities.cc +++ b/src/utilities.cc @@ -70,6 +70,6 @@ NAN_METHOD(counters) { NAN_METHOD(libvipsVersion) { NanScope(); char version[9]; - snprintf(version, 9, "%d.%d.%d", vips_version(0), vips_version(1), vips_version(2)); + snprintf(version, sizeof(version), "%d.%d.%d", vips_version(0), vips_version(1), vips_version(2)); NanReturnValue(NanNew(version)); } diff --git a/src/utilities.h b/src/utilities.h index 9f6f80d3..7c319aa6 100755 --- a/src/utilities.h +++ b/src/utilities.h @@ -1,5 +1,5 @@ -#ifndef SHARP_UTILITIES_H -#define SHARP_UTILITIES_H +#ifndef SRC_UTILITIES_H_ +#define SRC_UTILITIES_H_ #include "nan.h" @@ -8,4 +8,4 @@ NAN_METHOD(concurrency); NAN_METHOD(counters); NAN_METHOD(libvipsVersion); -#endif +#endif // SRC_UTILITIES_H_ diff --git a/test/unit/cpplint.js b/test/unit/cpplint.js new file mode 100755 index 00000000..546442e0 --- /dev/null +++ b/test/unit/cpplint.js @@ -0,0 +1,47 @@ +'use strict'; + +var fs = require('fs'); +var path = require('path'); +var assert = require('assert'); + +var cpplint = require('node-cpplint/lib/'); + +describe('cpplint', function() { + + // List C++ source files + fs.readdirSync(path.join(__dirname, '..', '..', 'src')).forEach(function (source) { + var file = path.join('src', source); + it(file, function(done) { + // Lint each source file + cpplint({ + files: [file], + linelength: 140, + filters: { + legal: { + copyright: false + }, + build: { + include: false, + include_order: false, + namespaces: false + }, + whitespace: { + blank_line: false, + comments: false, + parens: false + } + } + }, function(err, report) { + if (err) { + throw err; + } + var expected = {}; + expected[file] = []; + assert.deepEqual(expected, report); + done(); + }); + }); + + }); + +});