pinboard_test.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // Copyright (C) 2017-2019 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. //
  17. package main
  18. import (
  19. "net/url"
  20. "github.com/stretchr/testify/assert"
  21. "testing"
  22. )
  23. func TestPinboardAddUrl(t *testing.T) {
  24. t.Parallel()
  25. base, _ := url.Parse("https://api.pinboard.in/v1")
  26. ur, _ := url.Parse("https://m.heise.de/")
  27. tags := []string{"a", "b", "c"}
  28. dt := mustParseRFC3339("1990-12-31T02:02:02+01:00")
  29. assert.Equal(t, "https://api.pinboard.in/v1/posts/add?auth_token=fee%3AABCDE445566&description=desc%26rip%3Dtion&dt=1990-12-31T02%3A02%3A02%2B01%3A00&extended=ex%3Fte%3Dded&tags=a+b+c&url=https%3A%2F%2Fm.heise.de%2F", pinboardAddUrl(base, "fee:ABCDE445566", ur, "desc&rip=tion", "ex?te=ded", tags, dt).String(), "Na klar")
  30. }