Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix tests #170

Merged
merged 9 commits into from
Apr 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions analysis/src/BuildSystem.ml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ open Infix

let getBsPlatformDir rootPath =
let result =
ModuleResolution.resolveNodeModulePath ~startPath:rootPath "bs-platform"
ModuleResolution.resolveNodeModulePath ~startPath:rootPath "rescript"
in
let result =
if result = None then
ModuleResolution.resolveNodeModulePath ~startPath:rootPath "rescript"
ModuleResolution.resolveNodeModulePath ~startPath:rootPath "bs-platform"
else result
in
match result with
Expand Down
3 changes: 2 additions & 1 deletion analysis/src/Commands.ml
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,8 @@ let documentSymbol ~path =
| Module (Structure contents) -> (Module, getItems contents)
| Module (Ident _) -> (Module, [])
in
(txt, extentLoc, item) :: siblings
if extentLoc.loc_ghost then siblings
else (txt, extentLoc, item) :: siblings
in
let x = topLevel |> List.map fn |> List.concat in
x
Expand Down
3 changes: 2 additions & 1 deletion analysis/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ function exp {
echo "$(dirname $1)/expected/$(basename $1).txt"
}

for file in tests/src/*.res[i]; do
for file in tests/src/*.{res,resi}; do
./rescript-editor-analysis.exe test $file &> $(exp $file)
done

Expand All @@ -15,5 +15,6 @@ if [[ $diff = "" ]]; then
printf "${successGreen}✅ No unstaged tests difference.${reset}\n"
else
printf "${warningYellow}⚠️ There are unstaged differences in tests/! Did you break a test?\n${diff}\n${reset}"
git --no-pager diff tests/src/expected
exit 1
fi
2 changes: 1 addition & 1 deletion analysis/tests/src/expected/Auto.res.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Hover tests/src/Auto.res 2:13
{"contents": "```rescript\n(Belt.List.t<'a>, 'a => 'b) => Belt.List.t<'b>\n```\n\n\n [map xs f]\n\n return the list obtained by applying [f] to each element of [xs]\n\n @example {[\n map [1;2] (fun x-> x + 1) = [3;4]\n ]}\n"}
{"contents": "```rescript\n(Belt.List.t<'a>, 'a => 'b) => Belt.List.t<'b>\n```\n\n\n `map xs f`\n\n **return** the list obtained by applying `f` to each element of `xs`\n\n ```\n map [1;2] (fun x-> x + 1) = [3;4]\n ```\n"}

20 changes: 10 additions & 10 deletions analysis/tests/src/expected/Complete.res.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ Complete tests/src/Complete.res 0:2
"kind": 12,
"tags": [],
"detail": "(t<'a>, 'a => 'b) => t<'b>",
"documentation": {"kind": "markdown", "value": " [mapReverse xs f]\n\n Equivalent to [reverse (map xs f)]\n\n @example {[\n mapReverse [3;4;5] (fun x -> x * x) = [25;16;9];;\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `mapReverse xs f`\n\n Equivalent to `reverse (map xs f)`\n\n ```\n mapReverse [3;4;5] (fun x -> x * x) = [25;16;9];;\n ```\n"}
}, {
"label": "makeBy",
"kind": 12,
"tags": [],
"detail": "(int, int => 'a) => t<'a>",
"documentation": {"kind": "markdown", "value": " [makeBy n f] \n\n - return a list of length [n] with element [i] initialized with [f i]\n - return the empty list if [n] is negative\n\n @example {[\n makeBy 5 (fun i -> i) = [0;1;2;3;4];;\n makeBy 5 (fun i -> i * i) = [0;1;4;9;16];;\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `makeBy n f`\n\n **return** a list of length `n` with element `i` initialized with `f i`\n\n **return** the empty list if `n` is negative\n\n ```\n makeBy 5 (fun i -> i) = [0;1;2;3;4];;\n makeBy 5 (fun i -> i * i) = [0;1;4;9;16];;\n ```\n"}
}, {
"label": "make",
"kind": 12,
"tags": [],
"detail": "(int, 'a) => t<'a>",
"documentation": {"kind": "markdown", "value": " [make n v] \n\n - return a list of length [n] with each element filled with value [v] \n - return the empty list if [n] is negative\n\n @example {[\n make 3 1 = [1;1;1]\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `make n v`\n\n **return** a list of length `n` with each element filled with value `v`\n\n **return** the empty list if `n` is negative\n\n ```\n make 3 1 = [1;1;1]\n ```\n"}
}, {
"label": "mapReverse2U",
"kind": 12,
Expand All @@ -28,7 +28,7 @@ Complete tests/src/Complete.res 0:2
"kind": 12,
"tags": [],
"detail": "(t<'a>, 'a => 'b) => t<'b>",
"documentation": {"kind": "markdown", "value": "\n [map xs f]\n\n return the list obtained by applying [f] to each element of [xs]\n\n @example {[\n map [1;2] (fun x-> x + 1) = [3;4]\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `map xs f`\n\n **return** the list obtained by applying `f` to each element of `xs`\n\n ```\n map [1;2] (fun x-> x + 1) = [3;4]\n ```\n"}
}, {
"label": "mapWithIndexU",
"kind": 12,
Expand All @@ -52,13 +52,13 @@ Complete tests/src/Complete.res 0:2
"kind": 12,
"tags": [],
"detail": "(t<'a>, t<'b>, ('a, 'b) => 'c) => t<'c>",
"documentation": {"kind": "markdown", "value": " [mapReverse2 xs ys f]\n\n equivalent to [reverse (zipBy xs ys f)] \n\n @example {[\n mapReverse2 [1;2;3] [1;2] (+) = [4;2]\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `mapReverse2 xs ys f`\n\n equivalent to `reverse (zipBy xs ys f)`\n\n ```\n mapReverse2 [1;2;3] [1;2] (+) = [4;2]\n ```\n"}
}, {
"label": "mapWithIndex",
"kind": 12,
"tags": [],
"detail": "(t<'a>, (int, 'a) => 'b) => t<'b>",
"documentation": {"kind": "markdown", "value": " [mapWithIndex xs f] applies [f] to each element of [xs]. Function [f] takes two arguments:\n the index starting from 0 and the element from [xs].\n\n @example {[\n mapWithIndex [1;2;3] (fun i x -> i + x) =\n [0 + 1; 1 + 2; 2 + 3 ]\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `mapWithIndex xs f` applies `f` to each element of `xs`. Function `f` takes two arguments:\n the index starting from 0 and the element from `xs`.\n\n ```\n mapWithIndex [1;2;3] (fun i x -> i + x) =\n [0 + 1; 1 + 2; 2 + 3 ]\n ```\n"}
}, {
"label": "mapReverseU",
"kind": 12,
Expand Down Expand Up @@ -382,7 +382,7 @@ Complete tests/src/Complete.res 23:2
"kind": 12,
"tags": [],
"detail": "t => t",
"documentation": {"kind": "markdown", "value": "\n [toUpperCase str] converts [str] to upper case using the locale-insensitive case mappings in the Unicode Character Database. Notice that the conversion can expand the number of letters in the result; for example the German [ß] capitalizes to two [S]es in a row.\n\n@example {[\n toUpperCase \"abc\" = \"ABC\";;\n toUpperCase {js|Straße|js} = {js|STRASSE|js};;\n toLowerCase {js|πς|js} = {js|ΠΣ|js};;\n]}\n"}
"documentation": {"kind": "markdown", "value": "\n `toUpperCase str` converts `str` to upper case using the locale-insensitive case mappings in the Unicode Character Database. Notice that the conversion can expand the number of letters in the result; for example the German `ß` capitalizes to two `S`es in a row.\n\n ```\n toUpperCase \"abc\" = \"ABC\";;\n toUpperCase {js|Straße|js} = {js|STRASSE|js};;\n toLowerCase {js|πς|js} = {js|ΠΣ|js};;\n ```\n"}
}]

Complete tests/src/Complete.res 27:2
Expand All @@ -391,13 +391,13 @@ Complete tests/src/Complete.res 27:2
"kind": 12,
"tags": [],
"detail": "(option<'a>, option<'b>, (. 'a, 'b) => bool) => bool",
"documentation": {"kind": "markdown", "value": "\n Uncurried version of [eq]\n"}
"documentation": {"kind": "markdown", "value": "\n Uncurried version of `eq`\n"}
}, {
"label": "Belt.Option.eq",
"kind": 12,
"tags": [],
"detail": "(option<'a>, option<'b>, ('a, 'b) => bool) => bool",
"documentation": {"kind": "markdown", "value": "\n [eq optValue1 optvalue2 predicate]\n\n Evaluates two optional values for equality with respect to a predicate function.\n\n If both [optValue1] and [optValue2] are [None], returns [true].\n\n If one of the arguments is [Some value] and the other is [None], returns [false]\n\n If arguments are [Some value1] and [Some value2], returns the result of [predicate value1 value2];\n the [predicate] function must return a [bool]\n\n @example {[\n let clockEqual = (fun a b -> a mod 12 = b mod 12);;\n eq (Some 3) (Some 15) clockEqual = true;;\n eq (Some 3) None clockEqual = false;;\n eq None (Some 3) clockEqual = false;;\n eq None None clockEqual = true;;\n ]}\n"}
"documentation": {"kind": "markdown", "value": "\n `eq optValue1 optvalue2 predicate`\n\n Evaluates two optional values for equality with respect to a predicate function.\n\n If both `optValue1` and `optValue2` are `None`, returns `true`.\n\n If one of the arguments is `Some value` and the other is `None`, returns `false`\n\n If arguments are `Some value1` and `Some value2`, returns the result of `predicate value1 value2`;\n the `predicate` function must return a `bool`\n\n ```\n let clockEqual = (fun a b -> a mod 12 = b mod 12);;\n eq (Some 3) (Some 15) clockEqual = true;;\n eq (Some 3) None clockEqual = false;;\n eq None (Some 3) clockEqual = false;;\n eq None None clockEqual = true;;\n ```\n"}
}]

Complete tests/src/Complete.res 36:2
Expand All @@ -421,7 +421,7 @@ Complete tests/src/Complete.res 38:2
"kind": 12,
"tags": [],
"detail": "(t<'a>, key) => 'a",
"documentation": {"kind": "markdown", "value": " [unsafeGet dict key] return the value if the [key] exists, \n otherwise an {b undefined} value is returned. Must be used only \n when the existence of a key is certain. (i.e. when having called [keys]\n function previously. \n\n @example {[\n Array.iter (fun key -> Js.log (Js_dict.unsafeGet dic key)) (Js_dict.keys dict) \n ]} \n"}
"documentation": {"kind": "markdown", "value": "\n `unsafeGet dict key` return the value if the `key` exists,\n otherwise an **undefined** value is returned. Must be used only\n when the existence of a key is certain. (i.e. when having called `keys`\n function previously.\n\n ```\n Array.iter (fun key -> Js.log (Js_dict.unsafeGet dic key)) (Js_dict.keys dict)\n ```\n"}
}, {
"label": "unsafeDeleteKey",
"kind": 12,
Expand Down
2 changes: 1 addition & 1 deletion analysis/tests/src/expected/Definition.res.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ Hover tests/src/Definition.res 14:14
{"contents": "```rescript\n('a => 'b, list<'a>) => list<'b>\n```\n\n [List.map f [a1; ...; an]] applies function [f] to [a1, ..., an],\n and builds the list [[f a1; ...; f an]]\n with the results returned by [f]. Not tail-recursive. "}

Hover tests/src/Definition.res 18:14
{"contents": "```rescript\n(Belt.List.t<'a>, 'a => 'b) => Belt.List.t<'b>\n```\n\n\n [map xs f]\n\n return the list obtained by applying [f] to each element of [xs]\n\n @example {[\n map [1;2] (fun x-> x + 1) = [3;4]\n ]}\n"}
{"contents": "```rescript\n(Belt.List.t<'a>, 'a => 'b) => Belt.List.t<'b>\n```\n\n\n `map xs f`\n\n **return** the list obtained by applying `f` to each element of `xs`\n\n ```\n map [1;2] (fun x-> x + 1) = [3;4]\n ```\n"}

1 change: 0 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion server/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.