         v2 {:tag :variable :name "v2" :type :vec2}
         v3 {:tag :variable :name "v3" :type :vec3}
         v4 {:tag :variable :name "v4" :type :vec4}
-        sampler {:tag :variable :id "sampler" :type :sampler2D}]
+        sampler2 {:tag :variable :name "sampler2" :type :sampler2D}
+        samplerC {:tag :variable :name "samplerC" :type :samplerCube}
+        ]
     (is (= (->glsl (g/radians t)) "radians(t);"))
     (is (= (->glsl (g/degrees t)) "degrees(t);"))
     (is (= (->glsl (g/sin t)) "sin(t);"))

    (is (= (->glsl (g/xor b b)) "(b^^b);"))
    (is (= (->glsl (g/not b)) "(!b);"))))

(operators)

;; need swizzle tests

(deftest
  variables


;; test variables, declarations, literals

;; FIXME make these actual tests?
;; (->glsl (gamma.ast/literal {:tag :variable :name "v" :type :vec4}))
;;
;; (def vec4-variable {:tag :variable :id "v" :type :vec4})

;;;;;;; OPERATORS WITH VARIABLES

