// Copyright (c) 2024-2026 Celestino Amoroso (celestino.amoroso@gmail.com).
// All rights reserved.

// t_plugin_test.go
package expr

import (
	"testing"
)

// func TestImportPlugin(t *testing.T) {
// 	t.Setenv("PLUGINS", "${HOME}/go/src/git.portale-stac.it/go")
// 	t.Setenv("EXPR_PLUGIN_PATH","${PLUGINS}/expr-json-plugin:${PLUGINS}/expr-csv-plugin")

// 	gotCount, gotErr := importPluginFromSearchPath("json")
// 	if gotCount != 1 {
// 		t.Errorf("Import count: got=%d, want=1", gotCount)
// 	}
// 	if gotErr != nil {
// 		t.Errorf("importPlugin() failed: %v", gotErr)
// 	}
// }

func TestPluginExists(t *testing.T) {
	name := "json"
	exists := pluginExists(name)
	t.Logf("pluginExists(%v): %v", name, exists)

}

func TestMakePluginName(t *testing.T) {
	name := "json"
	want := "expr-" + name + /*"-plugin" +*/ SHAREDLIBRARY_EXTENSION

	if got := makePluginName(name); got != want {
		t.Errorf("makePluginName(%q) failed: Got: %q, Want: %q", name, got, want)
	}
}

// func TestLoadPluginName(t *testing.T) {
// 	name := "json"
// 	// want := "expr-" + name + "-plugin
// 	want := 1

// 	os.Setenv("PLUGINS", "${HOME}/go/src/git.portale-stac.it/go")
// 	// os.Setenv("EXPR_PLUGIN_PATH", "${PLUGINS}/expr-json-plugin:${PLUGINS}/expr-csv-plugin")
// 	os.Setenv("EXPR_PLUGIN_PATH", "${PLUGINS}")
// 	got, err := importPluginFromSearchPath(name)

// 	if err != nil {
// 		t.Errorf("importPluginFromSearchPath(%q) failed: %v", name, err)
// 		return
// 	}

// 	if got != want {
// 		t.Errorf("importPluginFromSearchPath(%q) failed: Got: %q, Want: %q", name, got, want)
// 	}
// }
