Skip to content

Commit

Permalink
* add spec tests ns
Browse files Browse the repository at this point in the history
* add first test
  • Loading branch information
swannodette committed Oct 24, 2024
1 parent 8d8a55a commit b28addc
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
22 changes: 22 additions & 0 deletions src/test/clojure/cljs/analyzer/spec_tests.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
;; Copyright (c) Rich Hickey. All rights reserved.
;; The use and distribution terms for this software are covered by the
;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
;; which can be found in the file epl-v10.html at the root of this distribution.
;; By using this software in any fashion, you are agreeing to be bound by
;; the terms of this license.
;; You must not remove this notice, or any other, from this software.

(ns cljs.analyzer.spec-tests
(:require [cljs.analyzer-tests :refer [analyze ns-env]]
[cljs.analyzer.specs :as a]
[clojure.test :as test :refer [deftest is]]
[clojure.spec.alpha :as s]))

(deftest test-if
(is '(s/valid? ::a/node (analyze ns-env '(if true true false)))))

(comment

(test/run-tests)

)
6 changes: 4 additions & 2 deletions src/test/clojure/cljs/analyzer/specs.cljc
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,10 @@
(defmethod node :const [_]
(s/merge ::base
(s/keys
:req-un [::literal? ::val]
:opt-un [])))
:req-un [::val]
;; ::literal? is required in the AST REF, but we don't actually use it
;; should check tools.analyzer
:opt-un [::literal?])))

(s/def ::keys (s/* ::node))
(s/def ::vals (s/* ::node))
Expand Down

0 comments on commit b28addc

Please sign in to comment.