Skip to content

Commit 3ad9cf8

Browse files
author
Massimiliano Pippi
authored
Look for query string into more fields when searching for libs (#499)
* extend search fields for libs, added tests * adjust tests
1 parent da8fc05 commit 3ad9cf8

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

Diff for: commands/lib/search.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ func LibrarySearch(ctx context.Context, req *rpc.LibrarySearchReq) (*rpc.Library
3737
res := []*rpc.SearchedLibrary{}
3838

3939
for _, lib := range lm.Index.Libraries {
40-
if strings.Contains(strings.ToLower(lib.Name), strings.ToLower(req.GetQuery())) {
40+
qry := strings.ToLower(req.GetQuery())
41+
if strings.Contains(strings.ToLower(lib.Name), qry) ||
42+
strings.Contains(strings.ToLower(lib.Latest.Paragraph), qry) ||
43+
strings.Contains(strings.ToLower(lib.Latest.Sentence), qry) {
4144
releases := map[string]*rpc.LibraryRelease{}
4245
for str, rel := range lib.Releases {
4346
releases[str] = GetLibraryParameters(rel)

Diff for: test/test_lib.py

+14
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,18 @@ def test_search(run_command):
105105
result = run_command("lib search ArduinoJson --format json")
106106
assert result.ok
107107
libs_json = json.loads(result.stdout)
108+
assert len(libs_json.get("libraries")) >= 1
109+
110+
111+
def test_search_paragraph(run_command):
112+
"""
113+
Search for a string that's only present in the `paragraph` field
114+
within the index file.
115+
"""
116+
assert run_command("lib update-index")
117+
result = run_command(
118+
'lib search "An efficient and elegant JSON library" --format json'
119+
)
120+
assert result.ok
121+
libs_json = json.loads(result.stdout)
108122
assert 1 == len(libs_json.get("libraries"))

0 commit comments

Comments
 (0)