Skip to content
This repository was archived by the owner on Aug 28, 2023. It is now read-only.

Commit 9d19735

Browse files
committed
add tests
1 parent 7f20a83 commit 9d19735

File tree

10 files changed

+5066
-30
lines changed

10 files changed

+5066
-30
lines changed

.bsb.lock

Lines changed: 0 additions & 1 deletion
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/node_modules/
22
/lib/bs/
33
/.merlin
4+
/.bsb.lock

__tests__/index_test.ml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
open Jest
2+
open Expect
3+
open Index
4+
5+
let d ?title ?className ?regexpTitle ?regexpClassName ?last ?active ?x ?y ?w ?h
6+
?instance () =
7+
let title = title |. Js.Nullable.fromOption in
8+
let className = className |. Js.Nullable.fromOption in
9+
let regexpTitle = regexpTitle |. Js.Nullable.fromOption in
10+
let regexpClassName = regexpClassName |. Js.Nullable.fromOption in
11+
let last = last |. Js.Nullable.fromOption in
12+
let active = active |. Js.Nullable.fromOption in
13+
let x = x |. Js.Nullable.fromOption in
14+
let y = y |. Js.Nullable.fromOption in
15+
let w = w |. Js.Nullable.fromOption in
16+
let h = h |. Js.Nullable.fromOption in
17+
let instance = instance |. Js.Nullable.fromOption in
18+
descriptorTagged ~title ~className ~regexpTitle ~regexpClassName ~last
19+
~active ~x ~y ~w ~h ~instance
20+
21+
let cases =
22+
[ ("[]", fun () -> d ())
23+
; ("[TITLE:toto]", fun () -> d ~title:"toto" ())
24+
; ("[INSTANCE:42]", fun () -> d ~instance:42 ())
25+
; ("[X:42; Y:84; W:10; H:20]", fun () -> d ~x:42 ~y:84 ~w:10 ~h:20 ())
26+
; ("[ACTIVE]", fun () -> d ~active:true ())
27+
; ("[]", fun () -> d ~active:false ())
28+
; ("[LAST]", fun () -> d ~last:true ())
29+
; ("[]", fun () -> d ~last:false ())
30+
; ("[TITLE:ta;;ta]", fun () -> d ~title:"ta;ta" ())
31+
; ("[TITLE:toto; ACTIVE]", fun () -> d ~title:"toto" ~active:true ())
32+
; ("[TITLE:toto; CLASS:tata]", fun () -> d ~title:"toto" ~className:"tata" ())
33+
; ( "[TITLE:to;;to; CLASS:tata]"
34+
, fun () -> d ~title:"to;to" ~className:"tata" () )
35+
; ( "[TITLE:toto; CLASS:ta;;ta]"
36+
, fun () -> d ~title:"toto" ~className:"ta;ta" () )
37+
; ( "[TITLE:to;;to; CLASS:ta;;ta]"
38+
, fun () -> d ~title:"to;to" ~className:"ta;ta" () ) ]
39+
40+
let makeTest (expected, case) =
41+
test expected (fun () -> expect (case ()) |> toEqual expected)
42+
43+
let () = describe "descriptor" (fun () -> cases |> List.iter makeTest)

bsconfig.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
{
22
"name": "autoit-advanced-descriptor",
3-
"sources": ["src"]
3+
"sources": [
4+
"src",
5+
{
6+
"dir": "__tests__",
7+
"type": "dev"
8+
}
9+
],
10+
"bs-dev-dependencies": [
11+
"@glennsl/bs-jest"
12+
]
413
}

lib/js/__tests__/index_test.js

Lines changed: 158 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/js/src/index.js

Lines changed: 19 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)