Skip to content

Commit 59fa49f

Browse files
committed
improved xAPI version regex
fixes #8
1 parent 979425b commit 59fa49f

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

spec/cljx/xapi_schema/schemata/json_spec.cljx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,20 @@
141141
"1.0.1"
142142
"1.0.2"
143143
"1.0.3"
144+
"1.0.3-rc1"
145+
"1.0.0-alpha"
146+
"1.0.0-alpha.1"
147+
"1.0.0-0.3.7"
148+
"1.0.0-x.7.z.92"
144149
:bad
145150
"0.9.5"
151+
"1.0." ;; bad semver
152+
"1.0.0-.123"
153+
"1.0.0-..."
154+
"1.0.0-123."
155+
"1.0.0-+"
156+
"1.0.0-+123"
157+
"1.0.0-"
146158
"what's going on?")))
147159

148160
(describe

src/cljx/xapi_schema/schemata/regex.cljx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
(def TimestampRegEx
2525
#"^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$")
2626

27+
;; Based on http://www.regexr.com/39s32
2728
(def xAPIVersionRegEx
28-
#"^1\.0\.(\d+)?$")
29+
#"^((1\.0\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)$")
2930

3031
(def DurationRegEx
3132
#"^P((\d+([\.,]\d+)?Y)?(\d+([\.,]\d+)?M)?(\d+([\.,]\d+)?W)?(\d+([\.,]\d+)?D)?)?(T(\d+([\.,]\d+)?H)?(\d+([\.,]\d+)?M)?(\d+([\.,]\d+)?S)?)?$")

0 commit comments

Comments
 (0)