From 059d244b8c6a6bdb5194252801a4b4a1f3394f5d Mon Sep 17 00:00:00 2001 From: sogaiu <983021772@users.noreply.github.com> Date: Tue, 15 Jul 2025 20:43:22 +0900 Subject: [PATCH] Add some tests for Clojure 1.12 syntax changes --- test/corpus/param-tags-metadata.txt | 158 ++++++++++++++++++ test/corpus/qualified-methods.txt | 83 +++++++++ .../symbolic-array-type-representation.txt | 21 +++ 3 files changed, 262 insertions(+) create mode 100644 test/corpus/param-tags-metadata.txt create mode 100644 test/corpus/qualified-methods.txt create mode 100644 test/corpus/symbolic-array-type-representation.txt diff --git a/test/corpus/param-tags-metadata.txt b/test/corpus/param-tags-metadata.txt new file mode 100644 index 0000000..208534f --- /dev/null +++ b/test/corpus/param-tags-metadata.txt @@ -0,0 +1,158 @@ +=============================================================================== +No Symbols +================================================================================ + +^[] java.lang.String/.toUpperCase +^[] String/.toUpperCase + +-------------------------------------------------------------------------------- + +(source + (sym_lit + meta: (meta_lit + value: (vec_lit)) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit)) + namespace: (sym_ns) + name: (sym_name))) + +================================================================================ +One Symbol +================================================================================ + +^[Locale] String/.toUpperCase +^[java.util.Locale] String/.toUpperCase +^[String] String/.getBytes +^[String] String/new +^[long] Math/abs + +-------------------------------------------------------------------------------- + +(source + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name))) + +================================================================================ +Two Symbols +================================================================================ + +^[long long] UUID/new +^[long long] java.util.UUID/new + +-------------------------------------------------------------------------------- + +(source + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)) + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)) + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name))) + +================================================================================ +Using an Underscore +================================================================================ + +^[_ _] clojure.lang.Tuple/create +^[objects _] Arrays/binarySearch +^["[Ljava.lang.Object;" _] Arrays/binarySearch + +-------------------------------------------------------------------------------- + +(source + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)) + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (sym_lit + name: (sym_name)) + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name)) + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (str_lit) + value: (sym_lit + name: (sym_name)))) + namespace: (sym_ns) + name: (sym_name))) + +================================================================================ +Using Unquoting +================================================================================ + +^[~a-type ~b-type] SwissArmy/staticArityOverloadMethod + +-------------------------------------------------------------------------------- + +(source + (sym_lit + meta: (meta_lit + value: (vec_lit + value: (unquoting_lit + value: (sym_lit + name: (sym_name))) + value: (unquoting_lit + value: (sym_lit + name: (sym_name))))) + namespace: (sym_ns) + name: (sym_name))) + diff --git a/test/corpus/qualified-methods.txt b/test/corpus/qualified-methods.txt new file mode 100644 index 0000000..bc03d7c --- /dev/null +++ b/test/corpus/qualified-methods.txt @@ -0,0 +1,83 @@ +================================================================================ +Functions That Invoke Static Methods +================================================================================ + +java.lang.Math/abs +Math/abs +(map Math/abs [-1 0 1]) + +-------------------------------------------------------------------------------- + +(source + (sym_lit + (sym_ns) + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (list_lit + (sym_lit + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (vec_lit + (num_lit) + (num_lit) + (num_lit)))) + +================================================================================ +Functions That Invoke Instance Methods +================================================================================ + +java.lang.String/.toUpperCase +String/.toUpperCase +(map String/.toUpperCase ["ant" "bee"]) + +-------------------------------------------------------------------------------- + +(source + (sym_lit + (sym_ns) + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (list_lit + (sym_lit + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (vec_lit + (str_lit) + (str_lit)))) + +================================================================================ +Functions That Invoke Constructors +================================================================================ + +java.lang.Long/new +Long/new +(map Long/new [0 1 2]) + +-------------------------------------------------------------------------------- + +(source + (sym_lit + (sym_ns) + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (list_lit + (sym_lit + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (vec_lit + (num_lit) + (num_lit) + (num_lit)))) + diff --git a/test/corpus/symbolic-array-type-representation.txt b/test/corpus/symbolic-array-type-representation.txt new file mode 100644 index 0000000..90df9fe --- /dev/null +++ b/test/corpus/symbolic-array-type-representation.txt @@ -0,0 +1,21 @@ +================================================================================ +Symbolic Array Type Representation +================================================================================ + +java.lang.String/1 +String/1 +double/2 + +-------------------------------------------------------------------------------- + +(source + (sym_lit + (sym_ns) + (sym_name)) + (sym_lit + (sym_ns) + (sym_name)) + (sym_lit + (sym_ns) + (sym_name))) +