Skip to content

Commit 5c28e85

Browse files
pangram: update to latest (#736)
* pangram: add generator and regenerate tests [no important files changed] * Update exercises/practice/pangram/.meta/generator.tpl Co-authored-by: Anastasios Chatzialexiou <16361161+tasxatzial@users.noreply.github.com> * Update exercises/practice/pangram/.meta/generator.tpl Co-authored-by: Anastasios Chatzialexiou <16361161+tasxatzial@users.noreply.github.com> * Update exercises/practice/pangram/.meta/generator.tpl Co-authored-by: Anastasios Chatzialexiou <16361161+tasxatzial@users.noreply.github.com> * Dont' HTML escape * Fix strings --------- Co-authored-by: Anastasios Chatzialexiou <16361161+tasxatzial@users.noreply.github.com>
1 parent 01c1b9e commit 5c28e85

2 files changed

Lines changed: 23 additions & 8 deletions

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
(ns pangram-test
2+
(:require [clojure.test :refer [deftest testing is]]
3+
pangram))
4+
{{#test_cases.isPangram}}
5+
(deftest pangram?_test_{{idx}}
6+
(testing "{{description}}"
7+
(is ({{#expected}}true?{{else}}false?{{/expected}} (pangram/pangram? {{string input.sentence}})))))
8+
{{/test_cases.isPangram~}}

generators/src/templates.clj

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,24 @@
44
[hbs.ext :refer :all :exclude [hash]]
55
[clojure.string :as str]
66
[log]
7-
[paths]))
7+
[paths])
8+
(:import [com.github.jknack.handlebars EscapingStrategy]))
89

910
(defhelper list-helper [ctx options]
1011
(safe-str (str "'" (seq ctx))))
1112

12-
(register-helper! *hbs* "list" list-helper)
13-
(register-helper! *hbs* "ifequals" ifequals)
14-
(register-helper! *hbs* "ifgreater" ifgreater)
15-
(register-helper! *hbs* "ifless" ifless)
16-
(register-helper! *hbs* "ifcontains" ifcontains)
17-
(register-helper! *hbs* "ifempty" ifempty)
13+
(defhelper string-helper [ctx options]
14+
(safe-str (str "\"" (str/escape ctx char-escape-string) "\"")))
15+
16+
(def reg (. *hbs* with EscapingStrategy/NOOP))
17+
18+
(register-helper! reg "list" list-helper)
19+
(register-helper! reg "string" string-helper)
20+
(register-helper! reg "ifequals" ifequals)
21+
(register-helper! reg "ifgreater" ifgreater)
22+
(register-helper! reg "ifless" ifless)
23+
(register-helper! reg "ifcontains" ifcontains)
24+
(register-helper! reg "ifempty" ifempty)
1825

1926
(def exercises-with-template
2027
(->> paths/exercises-dir
@@ -50,5 +57,5 @@
5057
(defn generate-test-files [slug test-cases]
5158
(let [template (slurp (paths/generator-template-file slug))
5259
data (test-cases->data slug test-cases)]
53-
(->> (render template data)
60+
(->> (render reg template data)
5461
(spit (paths/tests-file slug)))))

0 commit comments

Comments
 (0)