diff --git a/resemblejs/resemblejs-tests.ts b/resemblejs/resemblejs-tests.ts
new file mode 100644
index 000000000..163903fef
--- /dev/null
+++ b/resemblejs/resemblejs-tests.ts
@@ -0,0 +1,34 @@
+///
+
+resemble.outputSettings({
+ errorColor: {
+ red: 255,
+ green: 0,
+ blue: 255
+ },
+ errorType: 'movement',
+ transparency: 0.3,
+ largeImageThreshold: 1200
+});
+
+resemble("images/image.png").onComplete(function(data) {
+ var r: number = data.red;
+ var g: number = data.green;
+ var b: number = data.blue;
+ var brightness: number = data.brightness;
+});
+
+resemble("images/image.png").compareTo("images/image2.png").onComplete(function(data) {
+ var diffImageDataUrl: string = data.getImageDataUrl();
+ var difference: number = data.misMatchPercentage;
+});
+
+resemble("images/image2.png").compareTo("images/image2.png")
+ .ignoreAntialiasing()
+ .ignoreColors()
+ .repaint()
+ .onComplete(function(data) {
+ var diffImageDataUrl: string = data.getImageDataUrl();
+ var difference: number = data.misMatchPercentage;
+});
+
diff --git a/resemblejs/resemblejs.d.ts b/resemblejs/resemblejs.d.ts
new file mode 100644
index 000000000..7d5ad27d1
--- /dev/null
+++ b/resemblejs/resemblejs.d.ts
@@ -0,0 +1,66 @@
+// Type definitions for Resemble.js v1.3.0
+// Project: http://huddle.github.io/Resemble.js/
+// Definitions by: Tim Perry
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module Resemble {
+ interface ResembleStatic {
+ (image: string|ImageData): ResembleAnalysis;
+ outputSettings(settings: OutputSettings): ResembleStatic;
+ }
+
+ interface OutputSettings {
+ errorColor: {
+ red: number;
+ green: number;
+ blue: number;
+ };
+ errorType: string;
+ transparency: number;
+ largeImageThreshold: number;
+ }
+
+ interface ResembleAnalysis {
+ onComplete(callback: (result: ResembleAnalysisResult) => void): void;
+ compareTo(fileData: string|ImageData): ResembleComparison;
+ }
+
+ interface ResembleAnalysisResult {
+ red: number;
+ green: number;
+ blue: number;
+ brightness: number;
+ }
+
+ interface ResembleComparison {
+ onComplete(callback: (result: ResembleComparisonResult) => void): void;
+
+ ignoreNothing(): ResembleComparison;
+ ignoreAntialiasing(): ResembleComparison;
+ ignoreColors(): ResembleComparison;
+ repaint(): ResembleComparison;
+
+ }
+
+ interface ResembleComparisonResult {
+ isSameDimensions: boolean;
+ dimensionDifference: {
+ width: number;
+ height: number;
+ };
+
+ getImageDataUrl(): string;
+
+ misMatchPercentage: number;
+ diffBounds: {
+ top: number;
+ left: number;
+ bottom: number;
+ right: number;
+ };
+
+ analysisTime: number;
+ }
+}
+
+declare var resemble: Resemble.ResembleStatic;