mirror of https://github.com/k3s-io/k3s
Add the github.com/skratchdot/open-golang/open package as a dependency.
parent
b3292e947f
commit
6daeb8a05c
|
@ -89,6 +89,10 @@
|
|||
"ImportPath": "github.com/mitchellh/goamz/ec2",
|
||||
"Rev": "9cad7da945e699385c1a3e115aa255211921c9bb"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/skratchdot/open-golang/open",
|
||||
"Rev": "ba570a111973b539baf23c918213059543b5bb6e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/stretchr/objx",
|
||||
"Rev": "d40df0cc104c06eae2dfe03d7dddb83802d52f9a"
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
Copyright (c) 2013 skratchdot
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
15
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/exec.go
generated
vendored
Normal file
15
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/exec.go
generated
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
// +build !windows,!darwin
|
||||
|
||||
package open
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func open(input string) *exec.Cmd {
|
||||
return exec.Command("xdg-open", input)
|
||||
}
|
||||
|
||||
func openWith(input string, appName string) *exec.Cmd {
|
||||
return exec.Command(appName, input)
|
||||
}
|
15
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/exec_darwin.go
generated
vendored
Normal file
15
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/exec_darwin.go
generated
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
// +build darwin
|
||||
|
||||
package open
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func open(input string) *exec.Cmd {
|
||||
return exec.Command("open", input)
|
||||
}
|
||||
|
||||
func openWith(input string, appName string) *exec.Cmd {
|
||||
return exec.Command("open", "-a", appName, input)
|
||||
}
|
21
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/exec_windows.go
generated
vendored
Normal file
21
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/exec_windows.go
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
// +build windows
|
||||
|
||||
package open
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func cleaninput(input string) string {
|
||||
r := strings.NewReplacer("&", "^&")
|
||||
return r.Replace(input)
|
||||
}
|
||||
|
||||
func open(input string) *exec.Cmd {
|
||||
return exec.Command("cmd", "/C", "start", "", cleaninput(input))
|
||||
}
|
||||
|
||||
func openWith(input string, appName string) *exec.Cmd {
|
||||
return exec.Command("cmd", "/C", "start", "", appName, cleaninput(input))
|
||||
}
|
50
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/open.go
generated
vendored
Normal file
50
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/open.go
generated
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
|
||||
Open a file, directory, or URI using the OS's default
|
||||
application for that object type. Optionally, you can
|
||||
specify an application to use.
|
||||
|
||||
This is a proxy for the following commands:
|
||||
|
||||
OSX: "open"
|
||||
Windows: "start"
|
||||
Linux/Other: "xdg-open"
|
||||
|
||||
This is a golang port of the node.js module: https://github.com/pwnall/node-open
|
||||
|
||||
*/
|
||||
package open
|
||||
|
||||
/*
|
||||
Open a file, directory, or URI using the OS's default
|
||||
application for that object type. Wait for the open
|
||||
command to complete.
|
||||
*/
|
||||
func Run(input string) error {
|
||||
return open(input).Run()
|
||||
}
|
||||
|
||||
/*
|
||||
Open a file, directory, or URI using the OS's default
|
||||
application for that object type. Don't wait for the
|
||||
open command to complete.
|
||||
*/
|
||||
func Start(input string) error {
|
||||
return open(input).Start()
|
||||
}
|
||||
|
||||
/*
|
||||
Open a file, directory, or URI using the specified application.
|
||||
Wait for the open command to complete.
|
||||
*/
|
||||
func RunWith(input string, appName string) error {
|
||||
return openWith(input, appName).Run()
|
||||
}
|
||||
|
||||
/*
|
||||
Open a file, directory, or URI using the specified application.
|
||||
Don't wait for the open command to complete.
|
||||
*/
|
||||
func StartWith(input string, appName string) error {
|
||||
return openWith(input, appName).Start()
|
||||
}
|
70
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/open_test.go
generated
vendored
Normal file
70
Godeps/_workspace/src/github.com/skratchdot/open-golang/open/open_test.go
generated
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
package open
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestRun(t *testing.T) {
|
||||
// shouldn't error
|
||||
input := "https://google.com/"
|
||||
err := Run(input)
|
||||
if err != nil {
|
||||
t.Errorf("open.Run(\"%s\") threw an error: %s", input, err)
|
||||
}
|
||||
|
||||
// should error
|
||||
input = "xxxxxxxxxxxxxxx"
|
||||
err = Run(input)
|
||||
if err == nil {
|
||||
t.Errorf("Run(\"%s\") did not throw an error as expected", input)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStart(t *testing.T) {
|
||||
// shouldn't error
|
||||
input := "https://google.com/"
|
||||
err := Start(input)
|
||||
if err != nil {
|
||||
t.Errorf("open.Start(\"%s\") threw an error: %s", input, err)
|
||||
}
|
||||
|
||||
// shouldn't error
|
||||
input = "xxxxxxxxxxxxxxx"
|
||||
err = Start(input)
|
||||
if err != nil {
|
||||
t.Errorf("open.Start(\"%s\") shouldn't even fail on invalid input: %s", input, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunWith(t *testing.T) {
|
||||
// shouldn't error
|
||||
input := "https://google.com/"
|
||||
app := "firefox"
|
||||
err := RunWith(input, app)
|
||||
if err != nil {
|
||||
t.Errorf("open.RunWith(\"%s\", \"%s\") threw an error: %s", input, app, err)
|
||||
}
|
||||
|
||||
// should error
|
||||
app = "xxxxxxxxxxxxxxx"
|
||||
err = RunWith(input, app)
|
||||
if err == nil {
|
||||
t.Errorf("RunWith(\"%s\", \"%s\") did not throw an error as expected", input, app)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStartWith(t *testing.T) {
|
||||
// shouldn't error
|
||||
input := "https://google.com/"
|
||||
app := "firefox"
|
||||
err := StartWith(input, app)
|
||||
if err != nil {
|
||||
t.Errorf("open.StartWith(\"%s\", \"%s\") threw an error: %s", input, app, err)
|
||||
}
|
||||
|
||||
// shouldn't error
|
||||
input = "[<Invalid URL>]"
|
||||
err = StartWith(input, app)
|
||||
if err != nil {
|
||||
t.Errorf("StartWith(\"%s\", \"%s\") shouldn't even fail on invalid input: %s", input, app, err)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue