Skip to content

Instantly share code, notes, and snippets.

"feeling fine"

Will Myers griffinmyers

"feeling fine"
View GitHub Profile
View index.html
<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="" charset="utf-8"></script>
<script src="" charset="utf-8"></script>
<style type="text/css">
View Dockerfile
FROM node:5.12
ARG phantomjs_version=2.1.1
RUN mkdir /sdk
apt-get update && \
apt-get upgrade -y && \
View ellipsis.css
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
$ npm install --dev image-diff, jasmine, jasmine-spec-reporter, karma, karma-jasmine, karma-phantomjs-launcher, karma-spec-reporter
View helper.js
// `name`: The image filename
// `done`: A function provided by jasmine to invoke when we're finished
// rendering
window.renderScreen = function renderScreen(name, done) {
setTimeout(function() {{ type: 'render', name: name });
}, 500);
View render-runner.js
const path = require('path');
const karma = require('karma');
const Server = karma.Server;
const server = new Server({
configFile: path.join(__dirname, 'render-karma.conf.js')
}, process.exit.bind(process));
// Make sure dirPath exists and is clean.
View render-karma.conf.js
'use strict';
module.exports = config => {
basePath: '../../',
frameworks: ['jasmine'],
files: [
View visual-diff-test.js
describe('visual-diff', function() {
it('renders a Button', function(done) {
var button = new Button({
title: 'Everythings OK Alarm',
subtitle: 'The alarm will make a sound every three seconds',
cost: '$$$$',
cta: 'Order now',
image: '/base/test/assets/homer.jpg'
View diff-runner.js
const Jasmine = require('jasmine');
const SpecReporter = require('jasmine-spec-reporter');
const runner = new Jasmine();
runner.configureDefaultReporter({ print: function() {} });
runner.addReporter(new SpecReporter());
spec_dir: 'test/visual-diff',
spec_files: ['diff-test.js'],
View diff-test.js
const fs = require('fs');
const path = require('path');
const imageDiff = require('image-diff');
const testCases = fs.readdirSync(path.join('/', 'visual-diff', 'results'));
const expectations = fs.readdirSync(path.join(__dirname, 'expectations'));
const localBasePath = path.join('test', 'visual-diff');
const dockerBasePath = path.join('/', 'visual-diff');