View successOnlyCacheTest.lt
@Test(timeout = 10000) | |
fun secondSubscription_returnsImmediate() { | |
val subject = PublishSubject.create<Int>() | |
val cachedSubject = subject.successOnlyCache() | |
cachedSubject.test() //first subscription | |
cachedSubject.test() //second subscription | |
//this method will never finishes if subscription is blocked. | |
} |
View TextDrawable.kt
package com.vinted.drawables | |
import android.content.res.ColorStateList | |
import android.graphics.* | |
import android.graphics.drawable.Drawable | |
import android.text.DynamicLayout | |
import android.text.Editable | |
import android.text.Layout | |
import android.text.TextPaint |
View kodein_compare.kt
package com.neworldwar | |
import com.neworldwar.utils.Random | |
import org.junit.jupiter.api.BeforeAll | |
import org.junit.jupiter.api.RepeatedTest | |
import org.junit.jupiter.api.TestInstance | |
const val REQUESTS = 100 | |
const val TOTAL_DEPENDENCIES = 1000 | |
const val DEPENDENCIES_PER_REQUEST = 100 |
View emitter_isDisposed_RC.kt
val checkLock = Object() | |
val disposeLock = Object() | |
val completable = Completable.create { emitter -> | |
synchronized(checkLock) { | |
checkLock.notify() | |
} | |
if (!emitter.isDisposed) { | |
synchronized(disposeLock) { | |
try { |
View duff.c
send(to, from, count) | |
register short *to, *from; | |
register count; | |
{ | |
register n = (count + 7) / 8; | |
switch (count % 8) { | |
case 0: do { *to = *from++; | |
case 7: *to = *from++; | |
case 6: *to = *from++; | |
case 5: *to = *from++; |
View tree.hs
data Tree a = Empty | Tree a (Tree a) (Tree a) deriving (Show) | |
singleton :: a -> Tree a | |
singleton x = Tree x Empty Empty | |
addToTree :: (Ord a) => a -> Tree a -> Tree a | |
addToTree new Empty = singleton new | |
addToTree new (Tree value left right) | |
| new < value = Tree value (addToTree new left) right | |
| otherwise = Tree value left (addToTree new right) |
View TimedDynamicText.java
public class TimedDynamicText extends SpannableStringBuilder { | |
private final ArrayDeque<Pair<Integer, CharSequence>> list; | |
private Handler handler = new Handler(); | |
private CharSequence nextText = ""; | |
public TimedDynamicText(CharSequence initialText, Collection<Pair<Integer, CharSequence>> list) { | |
this.list = new ArrayDeque<>(list); | |
nextText = initialText; | |
next(); |
View github-img.js
// ==UserScript== | |
// @name Markdown img to html converter | |
// @namespace neworld | |
// @version 0.2.0 | |
// @description Converts markdown img tag to html | |
// @author Neworld | |
// @match https://*.github.com/* | |
// @grant none | |
// @run-at context-menu | |
// ==/UserScript== |
View git-complete.sh
# bash/zsh completion support for core Git. | |
# | |
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org> | |
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/). | |
# Distributed under the GNU General Public License, version 2.0. | |
# | |
# The contained completion routines provide support for completing: | |
# | |
# *) local and remote branch names | |
# *) local and remote tag names |
View copy.sh
#!/bin/sh | |
# Copy templates to Android Studio in default location | |
TMP_PATH=`pwd` | |
TEMPLATES_PATH="/Applications/Android Studio.app/Contents/plugins/android/lib/templates/other" | |
DIRS=`find $TMP_PATH -type d -maxdepth 1 -not -name '.*' -not -path $TMP_PATH` | |
for f in $DIRS |
NewerOlder