Jasmine example

A simple example of Jasmine tests using JSFiddle

by vinayaknb

HTML

<script src="http://searls.github.io/jasmine-all/jasmine-all-min.js"></script>
<script src="http://humblesoftware.github.io/js-imagediff/js/imagediff.js"></script>

JavaScript

var oldImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAACCAYAAABhYU3QAAAAEUlEQVQImWNgYPj/nzhMpEIAOmwn2ahM9dYAAAAASUVORK5CYII=',
    newImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJklEQVQYlWNgIBH8J0buPxJmwMH+j6ELj4n//xOHiVc4gJ4hDgAAxZQ/wSBs0YYAAAAASUVORK5CYII=';


describe('ImageTest', function() {

  // Matchers
  beforeEach(function () {
    this.addMatchers(imagediff.jasmine);
  });

  // Test
  it('should convert be the same image', function () {

    var
      a = new Image(),
      b = new Image();
    a.src = oldImage;
    b.src = oldImage;

    waitsFor(function () {
      return a.complete & b.complete;
    }, 'image not loaded.', 2000);

    runs(function () {
      expect(a).toImageDiffEqual(b);
    });
  });

  it('should convert be the same image', function () {

    var
      a = new Image(),
      b = new Image();
    a.src = oldImage;
    b.src = newImage;

    waitsFor(function () {
      return a.complete & b.complete;
    }, 'image not loaded.', 2000);

    runs(function () {
      expect(a).toImageDiffEqual(b);
    });
  });
});