Skip to content

Instantly share code, notes, and snippets.

View sirbrillig's full-sized avatar

Payton Swick sirbrillig

View GitHub Profile
@sirbrillig
sirbrillig / Vagrantfile
Created April 21, 2013 22:37
Vagrantfile for local Ubuntu server with puppet and librarian-puppet.
Vagrant.configure("2") do |config|
config.vm.box = "precise32"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.network :public_network
config.vm.provision :shell, :path => "deploy-puppet.sh"
config.vm.provision :puppet do |puppet|
puppet.module_path = "modules"
puppet.manifests_path = "manifests"
end
end
@sirbrillig
sirbrillig / netgrep.vim
Last active December 29, 2015 04:49
vim NetGrep function for grepping on a remote server
function! RunNetGrep(pattern, ...)
let tmpfile = tempname()
if exists('g:NetGrep_server_name') && exists('g:NetGrep_default_directory')
let server_name = g:NetGrep_server_name
let default_directory = g:NetGrep_default_directory
else
echom "Error: NetGrep requires g:NetGrep_server_name and g:NetGrep_default_directory"
return
endif
@sirbrillig
sirbrillig / quicklist.vim
Last active December 31, 2015 07:39
A vimL class to open a file list buffer.
function! OpenQuickList(data)
silent! botright 10split __QuickList__
normal! ggdG
setlocal buftype=nofile
setlocal bufhidden=delete
setlocal noswapfile
setlocal nowrap
setlocal nobuflisted
@sirbrillig
sirbrillig / wpMockUndefinedFunctionTest.php
Created January 15, 2016 04:19
Throw Exception in WP_Mock when handle_function fails
<?php
class SomeClass {
public function do_something( $times ) {
$user = wp_get_current_user();
//...
return true;
}
}
@sirbrillig
sirbrillig / App.js
Created January 17, 2016 03:07
Using React stateless components for quick prototyping
import React from 'react';
const Header = () => <div className="header"><img className="header__logo" src="/assets/logo.png" /><h1 className="header__title">My App</h1></div>;
const ToDoList = () => <div className="to-do-list"><h2 className="to-do-list__title">To Do</h2></div>;
const Controls = () => <div className="controls"><h2 className="controls__title">Controls</h2></div>;
const Footer = () => <div className="footer">Made by Me</div>;
export default React.createClass( {
render() {
return (
@sirbrillig
sirbrillig / get-deep-value-Test.php
Created January 27, 2016 17:31
`get_deep_value`, a version of `_.get` for PHP
<?php
require_once( 'get-deep-value.php' );
/**
* @runTestsInSeparateProcess
*/
class Get_Deep_Value_Test extends PHPUnit_Framework_TestCase {
use Codeception\Specify;
@sirbrillig
sirbrillig / get-from-dom.js
Created February 29, 2016 23:20
window object dependency injection
var getWindow = require( './window' ).getWindow;
function getSomethingFromTheDOM() {
return getWindow().document.querySelector( '.something' );
}
@sirbrillig
sirbrillig / jsdom-react-iframe-test.js
Created March 16, 2016 00:02
This file should run, but it throws an error
// Set up DOM
var jsdom = require( 'jsdom' ).jsdom;
global.document = jsdom( '' );
global.window = document.defaultView;
global.navigator = document.defaultView.navigator;
// Prepare React
var ReactTestUtils = require( 'react-addons-test-utils' );
var React = require( 'react' );
@sirbrillig
sirbrillig / SpiesExample.php
Last active March 26, 2016 21:35
An example of using Spies
<?php
class GreetingGenerator {
public function get_greeting( $name ) {
// Assumes determine_greeting is defined in another file
return determine_greeting( $name );
}
}
class Greeter {
@sirbrillig
sirbrillig / MyTimeTest.php
Last active July 30, 2016 14:15
Convert a string timezone offset to a formatted string timezone offset
<?php
use PHPUnit\Framework\TestCase;
class MyTime {
/**
* Convert a float string timezone offset to a DateTimeZone
*
* @param string $number The initial offset float, as a string.
* @return DateTimeZone The converted DateTimeZone
*/