Skip to content

Instantly share code, notes, and snippets.

View mtharrison's full-sized avatar

Matt Harrison mtharrison

View GitHub Profile
127.0.0.1 example.com
@mtharrison
mtharrison / main.c
Last active November 20, 2017 03:50
Simulate MT unsafe issues https://github.com/libuv/libuv/issues/271
#include <assert.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <uv.h>
static int iterations = 0;
'use strict';
// The whole app is a hapi plugin
module.exports = function (server, options, next) {
server.route({
method: 'GET',
path: '/add/{a}/{b}',
handler: function (request, reply) {

An question I've seen several times popping up in hapi issues is how to get an initialized hapi server into your tests. There's a few patterns I've seen in common use so I thought I'd document them somewhere.

Here's the test we're going to use as an example:

it('Can add two numbers', (done) => {

    server.inject('/add/1/5', (res) => {
  
        expect(res.statusCode).to.equal(200);
'use strict';
const Hapi = require('hapi');
const server = new Hapi.Server();
server.connection({ port: 4000 });
server.auth.scheme('payload', function (server, options) {
return {
var Deasync = require('deasync');
var Hapi = require('hapi');
var server = new Hapi.Server();
server.connection({ port: 4000 });
var someAsyncFunction = function () {
var done = false;
var result = null;
@mtharrison
mtharrison / Reet
Last active December 27, 2015 11:19
(function($){
if(window.location.hash){
var scrollToHash = function(){
window.scrollTo(0, 0);
$("html, body").animate({ scrollTop: $(window.location.hash).offset().top });
};
window.onhashchange = scrollToHash; //Bind the above to the hashchange event
scrollToHash(); //Call initially on page load
}
})(jQuery);
@mtharrison
mtharrison / gist:6914207
Created October 10, 2013 07:03
Build v8 with custom module
g++ -Iinclude helloworld.cc -o hello_world -Lout/native/ -lv8_base.x64 -lv8_snapshot -lv8_nosnapshot.x64 -licudata -licui18n -licuuc -lpthread
@mtharrison
mtharrison / gist:5420019
Last active December 16, 2015 10:28
Euler Project 11 solution in Ruby
grid=
"
08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21
<?php
/**
* @author Anush Prem <goku.anush@gmail.com>
* @package Solver
* @subpackage Sudoku
* @version 0.1
*/
/**