--- title: "Test Highlight" date: 2022-08-26T22:29:10+08:00 draft: true --- ## Test for C ```c #define UNICODE #include int main(int argc, char **argv) { int speed = 0, speed1 = 0, speed2 = 0; // 1-20 printf("Set Mouse Speed by Maverick\n"); SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); printf("Current speed: %2d\n", speed); if (argc == 1) return 0; if (argc >= 2) sscanf(argv[1], "%d", &speed1); if (argc >= 3) sscanf(argv[2], "%d", &speed2); if (argc == 2) // set speed to first value speed = speed1; else if (speed == speed1 || speed == speed2) // alternate speed = speed1 + speed2 - speed; else speed = speed1; // start with first value SystemParametersInfo(SPI_SETMOUSESPEED, 0, speed, 0); SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); printf("New speed: %2d\n", speed); return 0; } ``` ## Test for Java ```java import java.util.Map; import java.util.TreeSet; public class GetEnv { /** * let's test generics * @param args the command line arguments */ public static void main(String[] args) { // get a map of environment variables Map env = System.getenv(); // build a sorted set out of the keys and iterate for(String k: new TreeSet(env.keySet())) { System.out.printf("%s = %s\n", k, env.get(k)); } } } ``` ## Test for Perl ```perl #!perl -w # Time-stamp: <2002/04/06, 13:12:13 (EST), maverick, csvformat.pl> # Two pass CSV file to table formatter $delim = $#ARGV >= 1 ? $ARGV[1] : ','; print STDERR "Split pattern: $delim\n"; # first pass open F, "<$ARGV[0]" or die; while() { chomp; $i = 0; map { $max[$_->[1]] = $_->[0] if $_->[0] > ($max[$_->[1]] || 0) } (map {[length $_, $i++]} split($delim)); } close F; print STDERR 'Field width: ', join(', ', @max), "\n"; print STDERR join(' ', map {'-' x $_} @max); # second pass open F, "<$ARGV[0]" or die; while() { chomp; $i = 0; map { printf("%-$max[$_->[1]]s ", $_->[0]) } (map {[$_, $i++]} split($delim)); print "\n"; } close F; ``` ## Test for Python ```python # test python (sample from offlineimap) class ExitNotifyThread(Thread): """This class is designed to alert a "monitor" to the fact that a thread has exited and to provide for the ability for it to find out why.""" def run(self): global exitthreads, profiledir self.threadid = thread.get_ident() try: if not profiledir: # normal case Thread.run(self) else: try: import cProfile as profile except ImportError: import profile prof = profile.Profile() try: prof = prof.runctx("Thread.run(self)", globals(), locals()) except SystemExit: pass prof.dump_stats( \ profiledir + "/" + str(self.threadid) + "_" + \ self.getName() + ".prof") except: self.setExitCause('EXCEPTION') if sys: self.setExitException(sys.exc_info()[1]) tb = traceback.format_exc() self.setExitStackTrace(tb) else: self.setExitCause('NORMAL') if not hasattr(self, 'exitmessage'): self.setExitMessage(None) if exitthreads: exitthreads.put(self, True) def setExitCause(self, cause): self.exitcause = cause def getExitCause(self): """Returns the cause of the exit, one of: 'EXCEPTION' -- the thread aborted because of an exception 'NORMAL' -- normal termination.""" return self.exitcause def setExitException(self, exc): self.exitexception = exc def getExitException(self): """If getExitCause() is 'EXCEPTION', holds the value from sys.exc_info()[1] for this exception.""" return self.exitexception def setExitStackTrace(self, st): self.exitstacktrace = st def getExitStackTrace(self): """If getExitCause() is 'EXCEPTION', returns a string representing the stack trace for this exception.""" return self.exitstacktrace def setExitMessage(self, msg): """Sets the exit message to be fetched by a subsequent call to getExitMessage. This message may be any object or type except None.""" self.exitmessage = msg def getExitMessage(self): """For any exit cause, returns the message previously set by a call to setExitMessage(), or None if there was no such message set.""" return self.exitmessage ``` ## Test for Bash ```bash #!/bin/bash cd $ROOT_DIR DOT_FILES="lastpass weechat ssh Xauthority" for dotfile in $DOT_FILES; do conform_link "$DATA_DIR/$dotfile" ".$dotfile"; done # TODO: refactor with suffix variables (or common cron values) case "$PLATFORM" in linux) #conform_link "$CONF_DIR/shell/zshenv" ".zshenv" crontab -l > $ROOT_DIR/tmp/crontab-conflict-arch cd $ROOT_DIR/$CONF_DIR/cron if [[ "$(diff ~/tmp/crontab-conflict-arch crontab-current-arch)" == "" ]]; then # no difference with current backup logger "$LOG_PREFIX: crontab live settings match stored "\ "settings; no restore required" rm ~/tmp/crontab-conflict-arch else # current crontab settings in file do not match live settings crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch logger "$LOG_PREFIX: crontab stored settings conflict with "\ "live settings; stored settings restored. "\ "Previous settings recorded in ~/tmp/crontab-conflict-arch." fi ;; ``` ## Test for Haskell ```haskell {-# LANGUAGE OverloadedStrings #-} module Main where --import Prelude hiding (id) --import Control.Category (id) import Control.Arrow ((>>>), (***), arr) import Control.Monad (forM_) -- import Data.Monoid (mempty, mconcat) -- import System.FilePath import Hakyll main :: IO () main = hakyll $ do route "css/*" $ setExtension "css" compile "css/*" $ byExtension (error "Not a (S)CSS file") [ (".css", compressCssCompiler) , (".scss", sass) ] route "js/**" idRoute compile "js/**" copyFileCompiler route "img/*" idRoute compile "img/*" copyFileCompiler compile "templates/*" templateCompiler forM_ ["test.md", "index.md"] $ \page -> do route page $ setExtension "html" compile page $ pageCompiler >>> applyTemplateCompiler "templates/default.html" >>> relativizeUrlsCompiler sass :: Compiler Resource String sass = getResourceString >>> unixFilter "sass" ["-s", "--scss"] >>> arr compressCss ``` ## Test for PHP ```php hasPermission("ManageCountries")) { ?>
``` ## Test for Javascript ```js import isTypedArray from 'lodash/isTypedArray'; import reverse from 'lodash/reverse'; import sortBy from 'lodash/sortBy'; import take from 'lodash/take'; import { food101Classes } from './food101'; export function food101topK(classProbabilities, k = 5) { const probs = isTypedArray(classProbabilities) ? Array.prototype.slice.call(classProbabilities) : classProbabilities; const sorted = reverse( sortBy( probs.map((prob, index) => [ prob, index ]), probIndex => probIndex[0] ) ); const topK = take(sorted, k).map(probIndex => { const iClass = food101Classes[probIndex[1]]; return { id: probIndex[1], name: iClass.replace(/_/, ' '), probability: probIndex[0] }; }); return topK; }; ``` ## Test for HTML ```html A Tiny Page

abc

def

Testing page

``` ## Test for CSS ```css /* Monokai style - ported by Luigi Maselli - http://grigio.org */ .hljs { display: block; overflow-x: auto; padding: 0.5em; background: #272822; color: #ddd; } .hljs-tag, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-strong, .hljs-name { color: #f92672; } .hljs-code { color: #66d9ef; } .hljs-class .hljs-title { color: white; } ```