       (is (valid-eval-result? out) "(require 'clojure.string) and clojure.string/reverse should be a valid result")
       (is (= 'cljs.user (repl/current-ns)) "(require 'clojure.string) and clojure.string/reverse should not change namespace")
       (is (= "\"tpircserujolc\"" out) "(require 'clojure.string) and clojure.string/reverse should return \"tpircserujolc\"")
-      (repl/reset-env! ['clojure.string]))
+      (repl/reset-env! '[clojure.string goog.string goog.string.StringBuffer]))
 
     (let [res (do (read-eval-call "(import 'goog.string.StringBuffer)")
                   (read-eval-call "(let [sb (StringBuffer. \"clojure\")]

        (is (success? res) "(require 'alterable.core) and alterable.core/b should succeed")
        (is (valid-eval-result? out) "(require 'alterable.core) and alterable.core/b should be a valid result")
        (is (= 'cljs.user (repl/current-ns)) "(require 'alterable.core) and alterable.core/b should not change namespace")
        (is (= "\"pre\"" out) "(require 'alterable.core) and alterable.core/b should return \"pre\""))

      ;; Writing "post" version of alterable.core
      (io/write-file! alterable-core-path post-content)

      (is (valid-eval-result? out) "(import 'goog.string.StringBuffer) and .toString should be a valid result")
      (is (= 'cljs.user (repl/current-ns)) "(import 'goog.string.StringBuffer) and .toString should not change namespace")
      (is (= "\"clojurescript\"" out) "(import 'goog.string.StringBuffer) and .toString should return \"clojurescript\"")
      (repl/reset-env! '[goog.string goog.string.StringBuffer])))

  (deftest process-reload
    (let [alterable-core-path "dev-resources/private/test/src/cljs/alterable/core.cljs"
