I hereby claim:
- I am mars on github.
- I am marsi (https://keybase.io/marsi) on keybase.
- I have a public key whose fingerprint is DFC9 5BAD 42CF D15F 589A 9436 7F70 7FA1 F236 B857
To claim this, I am signing this object:
| import React from 'react'; | |
| // Top-level Route component receives the router in context and passes it onto each child's props | |
| export default class AppView extends React.Component { | |
| render() { | |
| return ( | |
| <div className="container"> | |
| { | |
| // Add `props.router` to each route component | |
| React.Children.map(this.props.children, c => { |
I hereby claim:
To claim this, I am signing this object:
| # Monkey-patch on Capybara!!! | |
| # | |
| class Capybara::Selenium::Driver < Capybara::Driver::Base | |
| # Patch to avoid `@browser.navigate.to('about:blank')` which hangs sometimes. | |
| # | |
| def reset! | |
| # Use instance variable directly so we avoid starting the browser just to reset the session | |
| if @browser | |
| begin @browser.manage.delete_all_cookies |
| var webpackModule = require('./webpack.module.js'); | |
| var webpackResolve = require('./webpack.resolve.js'); | |
| var Webpack = require('webpack'); | |
| var RewirePlugin = require("rewire-webpack"); | |
| module.exports = function(config) { | |
| config.set({ | |
| // frameworks to use | |
| // available frameworks: https://npmjs.org/browse/keyword/karma-adapter |
| /* | |
| Insert a Promise into a pre-defined Promise chain. | |
| @param promiseBlock [Function] takes a Promise | |
| parameter & returns the continuation of that parameter. | |
| @return [Promise] the fullfilled Promise chain | |
| */ | |
| function wrapPromise(promiseBlock) { | |
| if (typeof promiseBlock !== 'function') { | |
| throw new Error('promiseBlock must be a Function'); |
| require "rubygems" | |
| # gem install ruby-gmail | |
| require 'gmail' | |
| # gather email list | |
| addresses = %w{ | |
| email1@domain.com | |
| email2@domain.com |
| App.accountId = 'asdf'; | |
| App.RESTAdapter = DS.RESTAdapter.extend({ | |
| // Scope all ajax calls. | |
| ajax: function(url, type, hash) { | |
| if (Ember.isEmpty(hash)) hash = {}; | |
| if (Ember.isEmpty(hash.data)) hash.data = {}; | |
| hash.data.account_id = App.accountId; | |
| this._super(url, type, hash); | |
| } |
| Ember.Test.registerHelper('selectFrom', | |
| function(app, selector, value, description) { | |
| // choose an option | |
| find(selector).val(value); | |
| // trigger the change | |
| find(selector).change(); | |
| // assert the selected option | |
| equal(find(selector+" option:selected").val(), value, description||"makes the selection"); | |
| // promise | |
| return wait(); |
| // give each tested app its own DOM element | |
| document.write('<div class="ember-testing-container"><div id="foo-app-testing"></div></div>'); | |
| FooApp.rootElement = '#foo-app-testing'; | |
| // defer readiness | |
| FooApp.setupForTesting(); | |
| module("Foo App", { | |
| setup: function() { | |
| FooApp.injectTestHelpers(); | |
| // last step, before each test begins, clears the container and advances readiness |
| #!/usr/bin/env bash | |
| # Fail immediately on non-zero exit code. | |
| set -e | |
| # Fail immediately on non-zero exit code within a pipeline. | |
| set -o pipefail | |
| # Fail on undeclared variables. | |
| set -u | |
| # Debug, echo every command | |
| #set -x |