Skip to content

Instantly share code, notes, and snippets.

@mageekguy
mageekguy / test.php
Last active February 14, 2017 17:54
Tips to automatically generate a class which extends from tested class with atoum
<?php
namespace estvoyage\risingsun\tests\units;
use
mageekguy\atoum\mock
;
class test extends \atoum
{
@mageekguy
mageekguy / gist:4713903
Last active January 5, 2017 21:07
Add code below in your .vimrc to see the Git previous version of the current file with :GitPrevious.
function! s:GitPrevious()
let _ = './' . expand('%')
let filetype = &filetype
execute ':silent! vsp ' . tempname()
execute ':silent! 0r !git show HEAD~1:' . _
execute ':silent! $d'
execute ':silent! set nomodifiable'
execute ':silent! set readonly'
execute ':silent! set ft=' . filetype
@mageekguy
mageekguy / adn.php
Created February 25, 2016 19:13
Just a dna processor written in 30 minutes in the train for my friend Gerald.
<?php
interface base
{
function adnFormaterIs(adnFormater $formater);
}
interface baseRecipient
{
function baseIs(base $base);
@mageekguy
mageekguy / telnet.php
Created January 24, 2014 12:23
Very (very) simple telnet clone written in PHP
<?php
$serverSocket = stream_socket_client('tcp://' . $argv[1] . ':' . $argv[2]);
$read = array(STDIN);
$write = $except = array();
$request = $response = '';
$run = true;
< Hywan> mageekguy: J'dis pas que ca me d'efrise, je faisais juste une remarque << ergonomique >>, c'est tout :-).
11:26 < Hywan> mageekguy: Mais il y a 15mn, tu 'etais d'accord que testedInstance 'etait trop long...
11:29 < Hywan> mageekguy: Alors le truc nouveau dans 300 lignes de code, t'es gentil.
11:29 < Hywan> mageekguy: J'ai not'e newTestedInstance, testedInstance et isTestInstance.
11:29 < Hywan> mageekguy: Et non c'est pas marrant.
11:30 < Hywan> mageekguy: Tu nous balances ca, limite `a la gueule, voire culpabilisant, alors qu'on a d'ej`a pris le temps de tout lire mais de pas faire un diff qui remonte `a 15 jours.
11:30 < Hywan> mageekguy: L'objectif c'est pas jouer `a cache-cache ou aux easter eggs, mais de nous faciliter le taff...
11:31 < Hywan> mageekguy: Si tu veux qu'on review, aucun souci, j'adore ca et j'ai vraiment envie de le faire, mais j'ai pas envie de fouiller.
11:33 < Hywan> mageekguy: Non mais Fr'ed', relis toi. Vraiment, je t'aime beaucoup, t'es un bon pote, mais l`a c'est une ques
11:28 <+mageekguy> et je note au passage que personne n'a remarqué LE TRUC nouveau dans mon gist
11:28 <+mageekguy> (parce que bon, testedInstance, ça date un peu maintenant)
11:29 < Hywan> mageekguy: Alors le truc nouveau dans 300 lignes de code, t'es gentil.
11:29 <+mageekguy> c'est ça qui est marrant :)
11:29 < Hywan> mageekguy: J'ai not'e newTestedInstance, testedInstance et isTestInstance.
11:29 < Hywan> mageekguy: Et non c'est pas marrant.
11:29 <+mageekguy> ahn, tu avais vu isTestInstance
11:29 <+mageekguy> y'en manque encore
11:30 < Hywan> mageekguy: Tu nous balances ca, limite `a la gueule, voire culpabilisant, alors qu'on a d'ej`a pris le temps de tout lire mais de pas faire un diff qui remonte `a 15 jours.
11:30 <+mageekguy> ouhla, j'ai donné un lien, le lit qui veut, s'y intéresse qui veut
public function testClassConstants()
{
// new
// hot!
// it's sexy!
// it's awesome!
// see below!
// the new feature is below
// Hywan, please see below to review the code
// Do you want a diff?
// NEW
// new
// NeW
// nEW
// It's new!
// The new feature!
// See this!
// AWESOME!
// Hywan, the new feature is below
$this->object($this->newTestedInstance->setCommand($command = uniqid()))->isTestedInstance();
<?php
return function($directories, $fileFormat = null, $namespaceAliases = null, $classAliases = null) {
$fileFormat = $fileFormat ?: '%s.php';
$namespaceAliases = $namespaceAliases ?: array();
$classAliases = $classAliases ?: array();
spl_autoload_register(function($class) use ($fileFormat, $directories, $namespaceAliases, $classAliases) {
$realClass = (isset($classAliases[$class]) === false ? $class : $classAliases[$class]);
<?php
call_user_func_array(include(__DIR__ . '/autoloader.php'),
[
[
'server' => __DIR__ . '/classes',
'mageekguy\atoum' => __DIR__ . '/tests/units/atoum/classes'
],
null,
[