Warning: session_start(): open(/var/lib/php/sessions/sess_s6h1nk9lbui98hqk1f5inro4c6, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
svoid test_tok_eventFunctions() {
// no args
testTranspilationFunction tok_eventFunctions(
"event blubb;", [[
transient Set onBlubb;
public selfType onBlubb(Runnable r) { onBlubb = createOrAddToSyncLinkedHashSet(onBlubb, r); this; }
public selfType removeBlubbListener(Runnable r) { main remove(onBlubb, r); this; }
void blubb() { pcallFAll(onBlubb); }
]]);
// with args
testTranspilationFunction tok_eventFunctions(
"event newX(X x);", [[
transient Set> onNewX;
public selfType onNewX(IVF1 f) { onNewX = createOrAddToSyncLinkedHashSet(onNewX, f); this; }
public selfType removeNewXListener(IVF1 f) { main remove(onNewX, f); this; }
void newX(X x) { pcallFAll(onNewX, x); }
]]);
// "on" prefix handled correctly
testTranspilationFunction tok_eventFunctions(
"event onBlubb;", [[
transient Set onBlubb;
public selfType onBlubb(Runnable r) { onBlubb = createOrAddToSyncLinkedHashSet(onBlubb, r); this; }
public selfType removeBlubbListener(Runnable r) { main remove(onBlubb, r); this; }
void blubb() { pcallFAll(onBlubb); }
]]);
// "fire" prefix handled correctly
testTranspilationFunction tok_eventFunctions(
"event fireBlubb;", [[
transient Set onBlubb;
public selfType onBlubb(Runnable r) { onBlubb = createOrAddToSyncLinkedHashSet(onBlubb, r); this; }
public selfType removeBlubbListener(Runnable r) { main remove(onBlubb, r); this; }
void fireBlubb() { pcallFAll(onBlubb); }
]]);
// firing functions can now have a body
testTranspilationFunction tok_eventFunctions(
"event newX(X x) { bla; }", [[
transient Set> onNewX;
public selfType onNewX(IVF1 f) { onNewX = createOrAddToSyncLinkedHashSet(onNewX, f); this; }
public selfType removeNewXListener(IVF1 f) { main remove(onNewX, f); this; }
void newX(X x) { bla; pcallFAll(onNewX, x); }
]]);
}