2014年5月10日土曜日

node.jsのgmで画像情報を取得しようとした時のエラー

node.jsのgraphicsmagick用ライブラリgmで画像の縦横の長さを取得しようとしたときにエラーが発生

エラー内容:
{ [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' }

原因:
GraphicsMagickでImageMagickをサブクラスとして利用しており、ImageMagickが利用できない

対応方法:
ImageMagickを読み込ませる(ImageMagickがインストールされていない時はインストールする)
var gm = require('gm'); -> var gm = require('gm').subClass({ imageMagick: true });

参考サイト:



2014年4月21日月曜日

mocha/chaiで配列を比較するとき

Node.jsのmochaと言うテストフレームワークでテストを実行し、chaiでassertしようとしたときに、うまくassertされない問題が発生した。こんな感じで。
describe('', function(){
  describe('', function(){
    it('', function(){
      [].should.equal([]);
    });
  });
});
これはequalが配列を1つのオブジェクトとして比較するため、配列内の1つずつのデータを比較しているわけではないために発生しているらしい。
"equal"を"eql"に書き換えることで、正しくassertされるようになった。

ref: http://stackoverflow.com/questions/17526805/chai-test-array-equality-doesnt-work-as-expected