update semantic index tests for elixir

This commit is contained in:
KCaverly 2023-07-25 15:20:35 -04:00
parent 97c3d97792
commit cdceddd2cc

View file

@ -486,142 +486,121 @@ async fn test_code_context_retrieval_javascript() {
) )
} }
// #[gpui::test] #[gpui::test]
// async fn test_code_context_retrieval_elixir() { async fn test_code_context_retrieval_elixir() {
// let language = elixir_lang(); let language = elixir_lang();
// let mut retriever = CodeContextRetriever::new(); let mut retriever = CodeContextRetriever::new();
// let text = r#" let text = r#"
// defmodule File.Stream do defmodule File.Stream do
// @moduledoc """ @moduledoc """
// Defines a `File.Stream` struct returned by `File.stream!/3`. Defines a `File.Stream` struct returned by `File.stream!/3`.
// The following fields are public: The following fields are public:
// * `path` - the file path * `path` - the file path
// * `modes` - the file modes * `modes` - the file modes
// * `raw` - a boolean indicating if bin functions should be used * `raw` - a boolean indicating if bin functions should be used
// * `line_or_bytes` - if reading should read lines or a given number of bytes * `line_or_bytes` - if reading should read lines or a given number of bytes
// * `node` - the node the file belongs to * `node` - the node the file belongs to
// """ """
// defstruct path: nil, modes: [], line_or_bytes: :line, raw: true, node: nil defstruct path: nil, modes: [], line_or_bytes: :line, raw: true, node: nil
// @type t :: %__MODULE__{} @type t :: %__MODULE__{}
// @doc false @doc false
// def __build__(path, modes, line_or_bytes) do def __build__(path, modes, line_or_bytes) do
// raw = :lists.keyfind(:encoding, 1, modes) == false raw = :lists.keyfind(:encoding, 1, modes) == false
// modes = modes =
// case raw do case raw do
// true -> true ->
// case :lists.keyfind(:read_ahead, 1, modes) do case :lists.keyfind(:read_ahead, 1, modes) do
// {:read_ahead, false} -> [:raw | :lists.keydelete(:read_ahead, 1, modes)] {:read_ahead, false} -> [:raw | :lists.keydelete(:read_ahead, 1, modes)]
// {:read_ahead, _} -> [:raw | modes] {:read_ahead, _} -> [:raw | modes]
// false -> [:raw, :read_ahead | modes] false -> [:raw, :read_ahead | modes]
// end end
// false -> false ->
// modes modes
// end end
// %File.Stream{path: path, modes: modes, raw: raw, line_or_bytes: line_or_bytes, node: node()} %File.Stream{path: path, modes: modes, raw: raw, line_or_bytes: line_or_bytes, node: node()}
// end end"#
// "# .unindent();
// .unindent();
// let parsed_files = retriever let documents = retriever.parse_file(&text, language.clone()).unwrap();
// .parse_file(Path::new("foo.ex"), &text, language)
// .unwrap();
// let test_documents = &[ assert_documents_eq(
// Document{ &documents,
// name: "defmodule File.Stream".into(), &[(
// range: 0..1132, r#"
// content: r#" defmodule File.Stream do
// The below code snippet is from file 'foo.ex' @moduledoc """
Defines a `File.Stream` struct returned by `File.stream!/3`.
// ```elixir The following fields are public:
// defmodule File.Stream do
// @moduledoc """
// Defines a `File.Stream` struct returned by `File.stream!/3`.
// The following fields are public: * `path` - the file path
* `modes` - the file modes
* `raw` - a boolean indicating if bin functions should be used
* `line_or_bytes` - if reading should read lines or a given number of bytes
* `node` - the node the file belongs to
// * `path` - the file path """
// * `modes` - the file modes
// * `raw` - a boolean indicating if bin functions should be used
// * `line_or_bytes` - if reading should read lines or a given number of bytes
// * `node` - the node the file belongs to
// """ defstruct path: nil, modes: [], line_or_bytes: :line, raw: true, node: nil
// defstruct path: nil, modes: [], line_or_bytes: :line, raw: true, node: nil @type t :: %__MODULE__{}
// @type t :: %__MODULE__{} @doc false
def __build__(path, modes, line_or_bytes) do
raw = :lists.keyfind(:encoding, 1, modes) == false
// @doc false modes =
// def __build__(path, modes, line_or_bytes) do case raw do
// raw = :lists.keyfind(:encoding, 1, modes) == false true ->
case :lists.keyfind(:read_ahead, 1, modes) do
{:read_ahead, false} -> [:raw | :lists.keydelete(:read_ahead, 1, modes)]
{:read_ahead, _} -> [:raw | modes]
false -> [:raw, :read_ahead | modes]
end
// modes = false ->
// case raw do modes
// true -> end
// case :lists.keyfind(:read_ahead, 1, modes) do
// {:read_ahead, false} -> [:raw | :lists.keydelete(:read_ahead, 1, modes)]
// {:read_ahead, _} -> [:raw | modes]
// false -> [:raw, :read_ahead | modes]
// end
// false -> %File.Stream{path: path, modes: modes, raw: raw, line_or_bytes: line_or_bytes, node: node()}
// modes
// end
// %File.Stream{path: path, modes: modes, raw: raw, line_or_bytes: line_or_bytes, node: node()} end"#
.unindent(),
0,
),(r#"
@doc false
def __build__(path, modes, line_or_bytes) do
raw = :lists.keyfind(:encoding, 1, modes) == false
// end modes =
// ```"#.unindent(), case raw do
// embedding: vec![], true ->
// }, case :lists.keyfind(:read_ahead, 1, modes) do
// Document { {:read_ahead, false} -> [:raw | :lists.keydelete(:read_ahead, 1, modes)]
// name: "def __build__".into(), {:read_ahead, _} -> [:raw | modes]
// range: 574..1132, false -> [:raw, :read_ahead | modes]
// content: r#" end
// The below code snippet is from file 'foo.ex'
// ```elixir false ->
// @doc false modes
// def __build__(path, modes, line_or_bytes) do end
// raw = :lists.keyfind(:encoding, 1, modes) == false
// modes = %File.Stream{path: path, modes: modes, raw: raw, line_or_bytes: line_or_bytes, node: node()}
// case raw do
// true ->
// case :lists.keyfind(:read_ahead, 1, modes) do
// {:read_ahead, false} -> [:raw | :lists.keydelete(:read_ahead, 1, modes)]
// {:read_ahead, _} -> [:raw | modes]
// false -> [:raw, :read_ahead | modes]
// end
// false -> end"#.unindent(), 574)],
// modes );
// end }
// %File.Stream{path: path, modes: modes, raw: raw, line_or_bytes: line_or_bytes, node: node()}
// end
// ```"#
// .unindent(),
// embedding: vec![],
// }];
// for idx in 0..test_documents.len() {
// assert_eq!(test_documents[idx], parsed_files[idx]);
// }
// }
#[gpui::test] #[gpui::test]
async fn test_code_context_retrieval_cpp() { async fn test_code_context_retrieval_cpp() {