chore: import upstream snapshot with attribution
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / results (push) Has been cancelled
CI / deadcode (push) Has been cancelled
CI / e2e-live (push) Has been cancelled
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / results (push) Has been cancelled
CI / deadcode (push) Has been cancelled
CI / e2e-live (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package examples
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/larksuite/cli/internal/qualitygate/manifest"
|
||||
"github.com/larksuite/cli/internal/qualitygate/skillscan"
|
||||
)
|
||||
|
||||
func FromManifest(m manifest.Manifest) []skillscan.Example {
|
||||
var out []skillscan.Example
|
||||
for _, cmd := range m.Commands {
|
||||
for i, line := range strings.Split(cmd.Example, "\n") {
|
||||
line = strings.TrimSpace(line)
|
||||
if !strings.HasPrefix(line, "lark-cli ") {
|
||||
continue
|
||||
}
|
||||
out = append(out, skillscan.Example{
|
||||
Raw: line,
|
||||
SourceFile: "command-manifest",
|
||||
Line: i + 1,
|
||||
HasPlaceholder: skillscan.HasPlaceholder(line),
|
||||
})
|
||||
}
|
||||
}
|
||||
return out
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package examples
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/larksuite/cli/internal/qualitygate/manifest"
|
||||
)
|
||||
|
||||
func TestHarvestManifestExamples(t *testing.T) {
|
||||
m := manifest.Manifest{Commands: []manifest.Command{{
|
||||
Path: "root",
|
||||
Example: "lark-cli calendar +agenda\nlark-cli api GET /open-apis/test",
|
||||
}}}
|
||||
got := FromManifest(m)
|
||||
if len(got) != 2 {
|
||||
t.Fatalf("got %d examples, want 2", len(got))
|
||||
}
|
||||
if got[0].SourceFile != "command-manifest" {
|
||||
t.Fatalf("source = %q", got[0].SourceFile)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user