Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ jobs:
deploy-github:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22'

- name: Test
run: go test -v ./...
Expand All @@ -27,10 +27,8 @@ jobs:
run: make -j4 bindist

- name: Deploy
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
files: |
build/*.zst
build/*.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.16
go-version: '1.22'

- name: Build
run: go build -v ./...
Expand Down
43 changes: 21 additions & 22 deletions cmd/cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (

func TestMain(m *testing.M) {
// Set a fixed date instead of time.Now() in JstUpdatedAt()
onsen.SetRefDate("2021-11-01")
onsen.SetRefDate("2025-11-10")
// Shortcut both onsen & cobra's output/stderr
root.out, root.err = new(strings.Builder), new(strings.Builder)
root.cmd.SetOut(root.out)
Expand Down Expand Up @@ -157,44 +157,43 @@ func Test(t *testing.T) {

execute(func(out b, err b) {
assert.NoError(Execute())
assert.Equal(strings.Repeat("HAS_BEEN_SCREENED\n", 144), out.String())
assert.Equal(1528, strings.Count(out.String(), "https://"))
}, "lsm", "--backend", server.URL)

execute(func(out b, err b) {
assert.NoError(Execute())
assert.Equal(strings.Repeat("HAS_BEEN_SCREENED\n", 2), out.String())
assert.Equal(21,strings.Count(out.String(), "https://"))
assert.Equal("nosuchradio: not found\n", err.String())
}, "lsm", "fujita", "gurepap", "nosuchradio", "--backend", server.URL)

execute(func(out b, err b) {
assert.NoError(Execute())
assert.Equal("HAS_BEEN_SCREENED\n", out.String())
assert.Equal("fujita/6508: empty manifest, may be inaccessible\nfujita/9999: not found\n", err.String())
}, "lsm", "fujita/6507", "fujita/6508", "fujita/9999", "--backend", server.URL)
assert.Equal(1, strings.Count(out.String(), "https://"))
assert.Equal("fujita/24971: empty manifest, may be inaccessible\nfujita/99999: not found\n", err.String())
}, "lsm", "fujita/24970", "fujita/24971", "fujita/99999", "--backend", server.URL)

execute(func(out b, err b) {
assert.NoError(Execute())
assert.Equal("HAS_BEEN_SCREENED\n", out.String())
assert.Equal("oshitai/6528: empty manifest, may be inaccessible\n", err.String())
}, "lsm", "radionyan", "oshitai/6527", "oshitai/6528", "--after", "2021-10-25", "--backend", server.URL)

execute(func(out b, err b) {
var (
f, _ = os.Open("testdata/expected_dump.txt.bz2")
r = bzip2.NewReader(f)
data, _ = io.ReadAll(r)
)

assert.NoError(Execute())
assert.Equal(string(data), out.String())
}, "dump", "--backend", server.URL)
assert.Equal(1, strings.Count(out.String(), "https://"))
assert.Equal("shigohaji/25136: empty manifest, may be inaccessible\n", err.String())
}, "lsm", "tate", "shigohaji/25136", "shigohaji/25137", "--after", "2025-11-03", "--backend", server.URL)
}

func server(t *testing.T) http.Handler {
f, _ := os.ReadFile("testdata/fixture_nologin_screened.html")
f, err := os.Open("testdata/fixture_nologin_screened.html.bz2")
if err != nil {
t.Fatalf("failed to open fixture: %v", err)
}
defer f.Close()

r := bzip2.NewReader(f)
data, err := io.ReadAll(r)
if err != nil {
t.Fatalf("failed to read and decompress fixture: %v", err)
}

return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
assert.Equal(t, ua, req.Header.Get("User-Agent"))
w.Write(f)
w.Write(data)
})
}
Binary file removed cmd/testdata/expected_dump.txt.bz2
Binary file not shown.
376 changes: 235 additions & 141 deletions cmd/testdata/expected_ls.txt

Large diffs are not rendered by default.

12,035 changes: 10,270 additions & 1,765 deletions cmd/testdata/expected_ls_recursive.txt

Large diffs are not rendered by default.

86 changes: 44 additions & 42 deletions cmd/testdata/expected_ls_single.txt
Original file line number Diff line number Diff line change
@@ -1,42 +1,44 @@
d----- 20 Oct 21 2021 gurepap 鷲崎健・藤田茜のグレパラジオP
-r-*-- 1 Oct 21 2021 gurepap/6469 第54回 予告
---*+$ 1 Oct 21 2021 gurepap/6470 第54回 本編
-----$ 1 Oct 7 2021 gurepap/6253 第53回 予告
----+$ 1 Oct 7 2021 gurepap/6254 第53回 本編 # 佐藤日向 小泉萌香
-----$ 1 Sep 23 2021 gurepap/6074 第52回 予告
----+$ 1 Sep 23 2021 gurepap/6075 第52回 本編
-----$ 1 Sep 9 2021 gurepap/5913 第51回 予告
----+$ 1 Sep 9 2021 gurepap/5914 第51回 本編 # 青木佑磨
-----$ 1 Aug 26 2021 gurepap/5747 第50回 予告
----+$ 1 Aug 26 2021 gurepap/5748 第50回 本編 # 洲崎綾
-----$ 1 Aug 12 2021 gurepap/5595 第49回 予告
----+$ 1 Aug 12 2021 gurepap/5596 第49回 本編 # 集貝はな
-----$ 1 Jul 29 2021 gurepap/5439 第48回 予告
----+$ 1 Jul 29 2021 gurepap/5440 第48回 本編 # 楠木ともり
-----$ 1 Jul 15 2021 gurepap/5275 第47回 予告
----+$ 1 Jul 15 2021 gurepap/5276 第47回 本編
-----$ 1 Jul 1 2021 gurepap/5118 第46回 予告
----+$ 1 Jul 1 2021 gurepap/5119 第46回 本編
-----$ 1 Jun 17 2021 gurepap/4901 第45回 予告
----+$ 1 Jun 17 2021 gurepap/4903 第45回 本編 # 鈴木崚汰
d----- 20 Oct 22 2021 fujita 藤田茜シーズン1
-rv*-- 1 Oct 22 2021 fujita/6507 第97回 予告
--v*+$ 1 Oct 22 2021 fujita/6508 第97回 本編
--v--$ 1 Oct 8 2021 fujita/6277 第96回 予告
--v-+$ 1 Oct 8 2021 fujita/6278 第96回 本編
--v--$ 1 Sep 24 2021 fujita/6096 第95回 予告
--v-+$ 1 Sep 24 2021 fujita/6097 第95回 本編
--v--$ 1 Sep 10 2021 fujita/5930 第94回 予告
--v-+$ 1 Sep 10 2021 fujita/5931 第94回 本編
--v--$ 1 Aug 27 2021 fujita/5772 第93回 予告
--v-+$ 1 Aug 27 2021 fujita/5773 第93回 本編
--v--$ 1 Aug 13 2021 fujita/5611 第92回 予告
--v-+$ 1 Aug 13 2021 fujita/5612 第92回 本編
--v--$ 1 Jul 30 2021 fujita/5462 第91回 予告
--v-+$ 1 Jul 30 2021 fujita/5463 第91回 本編
--v--$ 1 Jul 16 2021 fujita/5292 第90回 予告
--v-+$ 1 Jul 16 2021 fujita/5293 第90回 本編
--v--$ 1 Jul 2 2021 fujita/5134 第89回 予告
--v-+$ 1 Jul 2 2021 fujita/5135 第89回 本編 # 飯塚晴子
--v--$ 1 Jun 18 2021 fujita/4931 第88回 予告
--v-+$ 1 Jun 18 2021 fujita/4932 第88回 本編
d----- 20 Oct 30 2025 gurepap 鷲崎健・藤田茜のグレパラジオP
-r---- 1 Oct 30 2025 gurepap/24807 第159回 予告
-----$ 1 Oct 30 2025 gurepap/24808 第159回 本編 # 小日向美香
-r---- 1 Oct 16 2025 gurepap/24111 第158回 予告
-----$ 1 Oct 16 2025 gurepap/24112 第158回 本編 # つんこ
-r---- 1 Oct 2 2025 gurepap/23972 第157回 予告
-----$ 1 Oct 2 2025 gurepap/23973 第157回 本編 # 岡田夢以
-r---- 1 Sep 18 2025 gurepap/23807 第156回 予告
-----$ 1 Sep 18 2025 gurepap/23808 第156回 本編 # 三宅美羽
-r---- 1 Sep 4 2025 gurepap/23651 第155回 予告
-----$ 1 Sep 4 2025 gurepap/23652 第155回 本編 # 薄井友里
-r---- 1 Aug 21 2025 gurepap/23488 第154回 予告
-----$ 1 Aug 21 2025 gurepap/23489 第154回 本編 # 天音ゆかり
-r---- 1 Aug 7 2025 gurepap/23328 第153回 予告
-----$ 1 Aug 7 2025 gurepap/23329 第153回 本編 # 来栖りん
-r---- 1 Jul 24 2025 gurepap/23036 第152回 予告
-----$ 1 Jul 24 2025 gurepap/23037 第152回 本編 # 丸岡和佳奈
-r---- 1 Jul 10 2025 gurepap/22874 第151回 予告
-----$ 1 Jul 10 2025 gurepap/22875 第151回 本編 # 村田綾香
-r---- 1 Jun 26 2025 gurepap/22724 第150回 予告
-----$ 1 Jun 26 2025 gurepap/22725 第150回 本編 # 真田アサミ
d----- 22 Oct 31 2025 fujita 藤田茜シーズン2
-rv--- 1 Oct 31 2025 fujita/24970 第202回 前半のみ
--v--$ 1 Oct 31 2025 fujita/24971 第202回 全編
-rv--- 1 Oct 17 2025 fujita/24126 第201回 前半のみ
--v--$ 1 Oct 17 2025 fujita/24127 第201回 全編
-rv--- 1 Oct 3 2025 fujita/23986 第200回 前半のみ
--v--$ 1 Oct 3 2025 fujita/23987 第200回 全編
-rv--- 1 Sep 19 2025 fujita/23824 第199回 前半のみ
--v--$ 1 Sep 19 2025 fujita/23825 第199回 全編
-rv--- 1 Sep 5 2025 fujita/23665 第198回 前半のみ
--v--$ 1 Sep 5 2025 fujita/23666 第198回 全編
-rv--- 1 Aug 22 2025 fujita/23499 第197回 前半のみ
--v--$ 1 Aug 22 2025 fujita/23500 第197回 全編
-rv--- 1 Aug 8 2025 fujita/23343 第196回 前半のみ
--v--$ 1 Aug 8 2025 fujita/23344 第196回 全編
-rv--- 1 Jul 25 2025 fujita/23055 第195回 前半のみ
--v--$ 1 Jul 25 2025 fujita/23056 第195回 全編
-rv--- 1 Jul 11 2025 fujita/22887 第194回 前半のみ
--v--$ 1 Jul 11 2025 fujita/22888 第194回 全編
-rv--- 1 Jun 27 2025 fujita/22742 第193回 前半のみ
--v--$ 1 Jun 27 2025 fujita/22743 第193回 全編
-rv--- 1 Jun 13 2025 fujita/22592 第192回 前半のみ
--v--$ 1 Jun 13 2025 fujita/22593 第192回 全編
98 changes: 0 additions & 98 deletions cmd/testdata/fixture_nologin_screened.html

This file was deleted.

Binary file added cmd/testdata/fixture_nologin_screened.html.bz2
Binary file not shown.
19 changes: 12 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
module github.com/adios/onsengo

go 1.16
go 1.22

require (
github.com/adios/pprint v0.1.0
github.com/dlclark/regexp2 v1.4.0 // indirect
github.com/dop251/goja v0.0.0-20210317175251-bb14c2267b76
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
github.com/spf13/cobra v1.1.3
github.com/stretchr/testify v1.7.0
golang.org/x/mod v0.4.2 // indirect
golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d // indirect
golang.org/x/sys v0.0.0-20210415045647-66c3f260301c // indirect
golang.org/x/tools v0.1.0 // indirect
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dlclark/regexp2 v1.4.0 // indirect
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/text v0.3.6 // indirect
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
)
Loading