Godot shaders
big list of metroidvanias
https://reddit.com/r/metroidvania/comments/xz6fsf/_/irl663g/?context=1
using defs makes for a simple repl debug session, especially in test code
the expressions in the test cases can be called individually
in a let, you need to eval the whole thing - back to the 'batch mode' that jack
rusher was talking about in stop writing dead languages (strangeloop talk)
(ns babashka.neil.dep-upgrade-test
(:require
[babashka.neil.test-util :as test-util]
[clojure.test :as t :refer [deftest is testing]]
[clojure.edn :as edn]))
;; these defs make interactive eval simple below
(def test-file-path (str (test-util/test-file "deeps.edn")))
(defn get-dep-version [dep-name] (-> test-file-path slurp edn/read-string
:deps (get dep-name) :mvn/version))
(deftest dep-upgrade-test
(testing "a fresh project is up-to-date"
(spit test-file-path "{}")
(test-util/neil "dep add :lib clj-kondo/clj-kondo" :deps-file test-file-path)
(let [clj-kondo-version-original (get-dep-version 'clj-kondo/clj-kondo)
_ (test-util/neil "dep upgrade" :deps-file test-file-path :dry-run true)
clj-kondo-version-upgraded (get-dep-version 'clj-kondo/clj-kondo)]
(is (= clj-kondo-version-original clj-kondo-version-upgraded))))
(testing "an old dependency can be upgraded"
(spit test-file-path "{}")
(test-util/neil "dep add :lib clj-kondo/clj-kondo :version 2022.01.01" :deps-file test-file-path)
(let [clj-kondo-version-original (get-dep-version 'clj-kondo/clj-kondo)
_ (test-util/neil "dep upgrade" :deps-file test-file-path :dry-run true)
clj-kondo-version-upgraded (get-dep-version 'clj-kondo/clj-kondo)]
(is (= clj-kondo-version-original clj-kondo-version-upgraded)))))