From 2b785dabea70272a2fb97d1a1c7645ce847f4afe Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Tue, 7 Sep 2021 13:58:37 +0900 Subject: [PATCH 01/12] Setup CI on GitHub Workflow --- .github/workflows/go.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..62002ce --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,39 @@ +name: Go + +on: + push: + branches: + - master + - main + pull_request: + branches: '*' + +jobs: + build: + strategy: + matrix: + go: ['1.16', '1.17'] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go }} + - name: Build + run: go build -v ./... + - name: Test + run: go test -v ./... + coverage: + needs: build + runs-on: ubuntu-latest + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + steps: + - go get github.com/mattn/goveralls + - go get github.com/axw/gocov/gocov + - go get code.google.com/p/go.tools/cmd/cover + - export PATH="$HOME/gopath/bin:$PATH" + - goveralls -package "github.com/woothee/woothee-go" -service=travis-ci From ddf84504673fec2741152ac7121f7a878099fbd5 Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Tue, 7 Sep 2021 14:00:28 +0900 Subject: [PATCH 02/12] Fix yaml syntax --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 62002ce..4ee6032 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -27,11 +27,11 @@ jobs: coverage: needs: build runs-on: ubuntu-latest + steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.17 - steps: - go get github.com/mattn/goveralls - go get github.com/axw/gocov/gocov - go get code.google.com/p/go.tools/cmd/cover From 77f2a71df6baf98b273f54723b8fba38dbd6b49e Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Tue, 7 Sep 2021 14:01:45 +0900 Subject: [PATCH 03/12] Missed commands --- .github/workflows/go.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 4ee6032..2ab1297 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -32,8 +32,8 @@ jobs: uses: actions/setup-go@v2 with: go-version: 1.17 - - go get github.com/mattn/goveralls - - go get github.com/axw/gocov/gocov - - go get code.google.com/p/go.tools/cmd/cover - - export PATH="$HOME/gopath/bin:$PATH" - - goveralls -package "github.com/woothee/woothee-go" -service=travis-ci + - run: go get github.com/mattn/goveralls + - run: go get github.com/axw/gocov/gocov + - run: go get code.google.com/p/go.tools/cmd/cover + - run: export PATH="$HOME/gopath/bin:$PATH" + - run: goveralls -package "github.com/woothee/woothee-go" -service=travis-ci From 803c3b4fb7c58a4d4f7d524df90f7ae637bd304b Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Tue, 7 Sep 2021 14:12:19 +0900 Subject: [PATCH 04/12] Set GO11MODULE=auto explicitly --- .github/workflows/go.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 2ab1297..44775dd 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -20,10 +20,9 @@ jobs: uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - - name: Build - run: go build -v ./... - - name: Test - run: go test -v ./... + - run: go env -w GO111MODULE=auto + - run: go build -v ./... + - run: go test -v ./... coverage: needs: build runs-on: ubuntu-latest @@ -32,8 +31,10 @@ jobs: uses: actions/setup-go@v2 with: go-version: 1.17 - - run: go get github.com/mattn/goveralls - - run: go get github.com/axw/gocov/gocov - - run: go get code.google.com/p/go.tools/cmd/cover - - run: export PATH="$HOME/gopath/bin:$PATH" - - run: goveralls -package "github.com/woothee/woothee-go" -service=travis-ci + - run: | + go env -w GO111MODULE=auto + go get github.com/mattn/goveralls + go get github.com/axw/gocov/gocov + go get code.google.com/p/go.tools/cmd/cover + export PATH="$HOME/gopath/bin:$PATH" + goveralls -package "github.com/woothee/woothee-go" -service=travis-ci From cc94d546221c8a014c715992b5b08163e2183e41 Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Tue, 7 Sep 2021 14:14:15 +0900 Subject: [PATCH 05/12] Fix yaml --- .github/workflows/go.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 44775dd..c1c228b 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -31,10 +31,9 @@ jobs: uses: actions/setup-go@v2 with: go-version: 1.17 - - run: | - go env -w GO111MODULE=auto - go get github.com/mattn/goveralls - go get github.com/axw/gocov/gocov - go get code.google.com/p/go.tools/cmd/cover - export PATH="$HOME/gopath/bin:$PATH" - goveralls -package "github.com/woothee/woothee-go" -service=travis-ci + - run: go env -w GO111MODULE=auto + - run: go get github.com/mattn/goveralls + - run: go get github.com/axw/gocov/gocov + - run: go get code.google.com/p/go.tools/cmd/cover + - run: export PATH="$HOME/gopath/bin:$PATH" + - run: goveralls -package "github.com/woothee/woothee-go" -service=travis-ci From 52e0b055a0b8a268de2b188059f9a3c8c87bcbf8 Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Tue, 7 Sep 2021 14:15:58 +0900 Subject: [PATCH 06/12] Update go.yml --- .github/workflows/go.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index c1c228b..b8d80e7 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -21,6 +21,7 @@ jobs: with: go-version: ${{ matrix.go }} - run: go env -w GO111MODULE=auto + - run: go get gopkg.in/yaml.v2 - run: go build -v ./... - run: go test -v ./... coverage: From 5079cfdb262f0f07105f771003e4406f97f6f7ce Mon Sep 17 00:00:00 2001 From: Satoshi Moris Tagomori Date: Tue, 7 Sep 2021 14:27:51 +0900 Subject: [PATCH 07/12] run go generate --- crawler_google_test.go | 60 +++++++++++++++++++++++++++++++++++++ dataset.go | 19 ++++++++++++ smartphone_android__test.go | 20 +++++++++++++ 3 files changed, 99 insertions(+) diff --git a/crawler_google_test.go b/crawler_google_test.go index 6b6cecf..1add63d 100644 --- a/crawler_google_test.go +++ b/crawler_google_test.go @@ -208,5 +208,65 @@ func Test_crawler_google(t *testing.T) { t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `FeedBurner/1.0 (http://www.FeedBurner.com)`, result.Version) } } + result, err = Parse(`Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`) + if err != nil { + t.Errorf(`Failed to parse 'Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)': %s`, err) + } else { + if result.Category != "crawler" { + t.Errorf("Expected result.Category for '%s' to be 'crawler', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Category) + } + if result.Name != "AdsBot-Google-Mobile" { + t.Errorf("Expected result.Name for '%s' to be 'AdsBot-Google-Mobile', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Name) + } + if true && result.Os != "UNKNOWN" { + t.Errorf("Expected result.Os for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Os) + } + if false && result.OsVersion != "UNKNOWN" { + t.Errorf("Expected result.OsVersion for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.OsVersion) + } + if false && result.Version != "UNKNOWN" { + t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Version) + } + } + result, err = Parse(`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`) + if err != nil { + t.Errorf(`Failed to parse 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)': %s`, err) + } else { + if result.Category != "crawler" { + t.Errorf("Expected result.Category for '%s' to be 'crawler', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Category) + } + if result.Name != "AdsBot-Google-Mobile" { + t.Errorf("Expected result.Name for '%s' to be 'AdsBot-Google-Mobile', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Name) + } + if true && result.Os != "UNKNOWN" { + t.Errorf("Expected result.Os for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Os) + } + if false && result.OsVersion != "UNKNOWN" { + t.Errorf("Expected result.OsVersion for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.OsVersion) + } + if false && result.Version != "UNKNOWN" { + t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Version) + } + } + result, err = Parse(`AdsBot-Google (+http://www.google.com/adsbot.html)`) + if err != nil { + t.Errorf(`Failed to parse 'AdsBot-Google (+http://www.google.com/adsbot.html)': %s`, err) + } else { + if result.Category != "crawler" { + t.Errorf("Expected result.Category for '%s' to be 'crawler', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Category) + } + if result.Name != "AdsBot-Google" { + t.Errorf("Expected result.Name for '%s' to be 'AdsBot-Google', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Name) + } + if true && result.Os != "UNKNOWN" { + t.Errorf("Expected result.Os for '%s' to be 'UNKNOWN', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Os) + } + if false && result.OsVersion != "UNKNOWN" { + t.Errorf("Expected result.OsVersion for '%s' to be 'UNKNOWN', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.OsVersion) + } + if false && result.Version != "UNKNOWN" { + t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Version) + } + } } diff --git a/dataset.go b/dataset.go index 04bb2a2..0178fcf 100644 --- a/dataset.go +++ b/dataset.go @@ -57,6 +57,11 @@ var DefaultDataSet DataSet = DataSet{ Type: "", Vendor: "Yandex", }, + "SamsungBrowser": &Result{ + Name: "SamsungBrowser", + Type: "", + Vendor: "Samsung", + }, "Win": &Result{ Name: "Windows UNKNOWN Ver", Type: "pc", @@ -570,4 +575,18 @@ var DefaultDataSet DataSet = DataSet{ Category: "crawler", Os: "UNKNOWN", }, + "AdsBotGoogleMobile": &Result{ + Name: "AdsBot-Google-Mobile", + Type: "crawler", + Vendor: "", + Category: "crawler", + Os: "UNKNOWN", + }, + "AdsBotGoogle": &Result{ + Name: "AdsBot-Google", + Type: "crawler", + Vendor: "", + Category: "crawler", + Os: "UNKNOWN", + }, } diff --git a/smartphone_android__test.go b/smartphone_android__test.go index 703316a..f96be11 100644 --- a/smartphone_android__test.go +++ b/smartphone_android__test.go @@ -248,5 +248,25 @@ func Test_smartphone_android_(t *testing.T) { t.Errorf("Expected result.Version for '%s' to be '72.0.3626.105', but got '%s'", `Mozilla/5.0 (Linux; Android 9; SM-N960F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36`, result.Version) } } + result, err = Parse(`Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`) + if err != nil { + t.Errorf(`Failed to parse 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36': %s`, err) + } else { + if result.Category != "smartphone" { + t.Errorf("Expected result.Category for '%s' to be 'smartphone', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Category) + } + if result.Name != "SamsungBrowser" { + t.Errorf("Expected result.Name for '%s' to be 'SamsungBrowser', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Name) + } + if true && result.Os != "Android" { + t.Errorf("Expected result.Os for '%s' to be 'Android', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Os) + } + if true && result.OsVersion != "5.0.2" { + t.Errorf("Expected result.OsVersion for '%s' to be '5.0.2', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.OsVersion) + } + if true && result.Version != "4.0" { + t.Errorf("Expected result.Version for '%s' to be '4.0', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Version) + } + } } From 6534fbdd5320dbc3153ae3c4befb0c8e1dcab662 Mon Sep 17 00:00:00 2001 From: Satoshi Moris Tagomori Date: Tue, 7 Sep 2021 14:28:16 +0900 Subject: [PATCH 08/12] use Go Modules --- go.mod | 5 +++++ go.sum | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 go.mod create mode 100644 go.sum diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..4986b5e --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/woothee/woothee-go + +go 1.17 + +require gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..7534661 --- /dev/null +++ b/go.sum @@ -0,0 +1,3 @@ +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= From d0f910996c2870a73fbea548da9332316c521890 Mon Sep 17 00:00:00 2001 From: Satoshi Moris Tagomori Date: Tue, 7 Sep 2021 14:30:15 +0900 Subject: [PATCH 09/12] Revert "run go generate" This reverts commit 5079cfdb262f0f07105f771003e4406f97f6f7ce. --- crawler_google_test.go | 60 ------------------------------------- dataset.go | 19 ------------ smartphone_android__test.go | 20 ------------- 3 files changed, 99 deletions(-) diff --git a/crawler_google_test.go b/crawler_google_test.go index 1add63d..6b6cecf 100644 --- a/crawler_google_test.go +++ b/crawler_google_test.go @@ -208,65 +208,5 @@ func Test_crawler_google(t *testing.T) { t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `FeedBurner/1.0 (http://www.FeedBurner.com)`, result.Version) } } - result, err = Parse(`Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`) - if err != nil { - t.Errorf(`Failed to parse 'Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)': %s`, err) - } else { - if result.Category != "crawler" { - t.Errorf("Expected result.Category for '%s' to be 'crawler', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Category) - } - if result.Name != "AdsBot-Google-Mobile" { - t.Errorf("Expected result.Name for '%s' to be 'AdsBot-Google-Mobile', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Name) - } - if true && result.Os != "UNKNOWN" { - t.Errorf("Expected result.Os for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Os) - } - if false && result.OsVersion != "UNKNOWN" { - t.Errorf("Expected result.OsVersion for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.OsVersion) - } - if false && result.Version != "UNKNOWN" { - t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)`, result.Version) - } - } - result, err = Parse(`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`) - if err != nil { - t.Errorf(`Failed to parse 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)': %s`, err) - } else { - if result.Category != "crawler" { - t.Errorf("Expected result.Category for '%s' to be 'crawler', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Category) - } - if result.Name != "AdsBot-Google-Mobile" { - t.Errorf("Expected result.Name for '%s' to be 'AdsBot-Google-Mobile', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Name) - } - if true && result.Os != "UNKNOWN" { - t.Errorf("Expected result.Os for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Os) - } - if false && result.OsVersion != "UNKNOWN" { - t.Errorf("Expected result.OsVersion for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.OsVersion) - } - if false && result.Version != "UNKNOWN" { - t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1; +http://www.apple.com/go/applebot)`, result.Version) - } - } - result, err = Parse(`AdsBot-Google (+http://www.google.com/adsbot.html)`) - if err != nil { - t.Errorf(`Failed to parse 'AdsBot-Google (+http://www.google.com/adsbot.html)': %s`, err) - } else { - if result.Category != "crawler" { - t.Errorf("Expected result.Category for '%s' to be 'crawler', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Category) - } - if result.Name != "AdsBot-Google" { - t.Errorf("Expected result.Name for '%s' to be 'AdsBot-Google', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Name) - } - if true && result.Os != "UNKNOWN" { - t.Errorf("Expected result.Os for '%s' to be 'UNKNOWN', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Os) - } - if false && result.OsVersion != "UNKNOWN" { - t.Errorf("Expected result.OsVersion for '%s' to be 'UNKNOWN', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.OsVersion) - } - if false && result.Version != "UNKNOWN" { - t.Errorf("Expected result.Version for '%s' to be 'UNKNOWN', but got '%s'", `AdsBot-Google (+http://www.google.com/adsbot.html)`, result.Version) - } - } } diff --git a/dataset.go b/dataset.go index 0178fcf..04bb2a2 100644 --- a/dataset.go +++ b/dataset.go @@ -57,11 +57,6 @@ var DefaultDataSet DataSet = DataSet{ Type: "", Vendor: "Yandex", }, - "SamsungBrowser": &Result{ - Name: "SamsungBrowser", - Type: "", - Vendor: "Samsung", - }, "Win": &Result{ Name: "Windows UNKNOWN Ver", Type: "pc", @@ -575,18 +570,4 @@ var DefaultDataSet DataSet = DataSet{ Category: "crawler", Os: "UNKNOWN", }, - "AdsBotGoogleMobile": &Result{ - Name: "AdsBot-Google-Mobile", - Type: "crawler", - Vendor: "", - Category: "crawler", - Os: "UNKNOWN", - }, - "AdsBotGoogle": &Result{ - Name: "AdsBot-Google", - Type: "crawler", - Vendor: "", - Category: "crawler", - Os: "UNKNOWN", - }, } diff --git a/smartphone_android__test.go b/smartphone_android__test.go index f96be11..703316a 100644 --- a/smartphone_android__test.go +++ b/smartphone_android__test.go @@ -248,25 +248,5 @@ func Test_smartphone_android_(t *testing.T) { t.Errorf("Expected result.Version for '%s' to be '72.0.3626.105', but got '%s'", `Mozilla/5.0 (Linux; Android 9; SM-N960F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36`, result.Version) } } - result, err = Parse(`Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`) - if err != nil { - t.Errorf(`Failed to parse 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36': %s`, err) - } else { - if result.Category != "smartphone" { - t.Errorf("Expected result.Category for '%s' to be 'smartphone', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Category) - } - if result.Name != "SamsungBrowser" { - t.Errorf("Expected result.Name for '%s' to be 'SamsungBrowser', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Name) - } - if true && result.Os != "Android" { - t.Errorf("Expected result.Os for '%s' to be 'Android', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Os) - } - if true && result.OsVersion != "5.0.2" { - t.Errorf("Expected result.OsVersion for '%s' to be '5.0.2', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.OsVersion) - } - if true && result.Version != "4.0" { - t.Errorf("Expected result.Version for '%s' to be '4.0', but got '%s'", `Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36`, result.Version) - } - } } From acb90c0a6285e388be13dbb9cd14110aaed6670d Mon Sep 17 00:00:00 2001 From: Satoshi Moris Tagomori Date: Tue, 7 Sep 2021 14:34:24 +0900 Subject: [PATCH 10/12] use coveralls snippet --- .github/workflows/go.yml | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index b8d80e7..1b13b32 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -20,21 +20,11 @@ jobs: uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - - run: go env -w GO111MODULE=auto - - run: go get gopkg.in/yaml.v2 + - run: go mod download - run: go build -v ./... - - run: go test -v ./... - coverage: - needs: build - runs-on: ubuntu-latest - steps: - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: 1.17 - - run: go env -w GO111MODULE=auto - - run: go get github.com/mattn/goveralls - - run: go get github.com/axw/gocov/gocov - - run: go get code.google.com/p/go.tools/cmd/cover - - run: export PATH="$HOME/gopath/bin:$PATH" - - run: goveralls -package "github.com/woothee/woothee-go" -service=travis-ci + - run: go test -race -covermode atomic -coverprofile=covprofile ./... + - run: go install github.com/mattn/goveralls@latest + - name: Send coverage + env: + COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: goveralls -coverprofile=covprofile -service=github From e48985ba9b5fa097d45bdb8bf221bfc56c1737b5 Mon Sep 17 00:00:00 2001 From: Satoshi Moris Tagomori Date: Tue, 7 Sep 2021 14:37:33 +0900 Subject: [PATCH 11/12] update --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8984be..8513914 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ go get github.com/woothee/woothee-go ## Running Tests ``` +go mod download go test -v ./... ``` From 8348de78c8ffa20949760849c5e2a4cd4b6efda7 Mon Sep 17 00:00:00 2001 From: Satoshi Moris Tagomori Date: Tue, 7 Sep 2021 14:37:44 +0900 Subject: [PATCH 12/12] stop using Travis-CI --- .travis.yml | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 30bfc1b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: go -go: - - "1.8" - - "1.9" - - "1.10" - - "1.11" - - "1.12" - - "1.13" - - "1.14" - - tip -install: - - echo "Do Nothing, please" -script: - - go test -v . -after_success: - - go get github.com/mattn/goveralls - - go get github.com/axw/gocov/gocov - - go get code.google.com/p/go.tools/cmd/cover - - export PATH="$HOME/gopath/bin:$PATH" - - goveralls -package "github.com/woothee/woothee-go" -service=travis-ci