diff --git a/.github/workflows/main.yml b/.github/workflows/build.yml similarity index 99% rename from .github/workflows/main.yml rename to .github/workflows/build.yml index dcbbeef3..3d1eafd2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/build.yml @@ -64,6 +64,6 @@ jobs: - name: E2E tests run: | - docker run -d -p 9222:9222 ghcr.io/montferret/chromium:86.0.4240.0 + docker run -d -p 9222:9222 ghcr.io/montferret/chromium:87.0.4272.0 make e2e docker stop $(docker ps -q) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..cd5f3717 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,26 @@ +name: Release + +on: + release: + types: + - created + +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15 + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2 + with: + version: latest + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/Makefile b/Makefile index 2bdcf2ec..6b3241e4 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ cover: curl -s https://codecov.io/bash | bash e2e: - lab --timeout=120 --times=5 --concurrency=1 --wait=http://127.0.0.1:9222/json/version --runtime=bin://./bin/ferret --files=file://./e2e/tests --cdn=./e2e/pages/dynamic:8080@dynamic --cdn=./e2e/pages/static:8081@static + lab --timeout=120 --times=5 --concurrency=1 --wait=http://127.0.0.1:9222/json/version --runtime=bin://./bin/ferret --files=./e2e/tests --cdn=./e2e/pages/dynamic --cdn=./e2e/pages/static bench: go test -run=XXX -bench=. ${DIR_PKG}/... diff --git a/e2e/tests/dynamic/doc/inner_html/get.fql b/e2e/tests/dynamic/doc/inner_html/get.fql index 8c4aedf8..58fc4bae 100644 --- a/e2e/tests/dynamic/doc/inner_html/get.fql +++ b/e2e/tests/dynamic/doc/inner_html/get.fql @@ -27,4 +27,4 @@ LET actual = INNER_HTML(doc) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/doc/inner_html/get_by_selector.fql b/e2e/tests/dynamic/doc/inner_html/get_by_selector.fql index 86ad4bd6..5faa45fb 100644 --- a/e2e/tests/dynamic/doc/inner_html/get_by_selector.fql +++ b/e2e/tests/dynamic/doc/inner_html/get_by_selector.fql @@ -7,4 +7,4 @@ WAIT_ELEMENT(doc, "#layout") LET expected = '

Welcome to Ferret E2E test page!

It has several pages for testing different possibilities of the library

' LET actual = INNER_HTML(doc, selector) -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), '(\n|\s)', ''), REGEXP_REPLACE(expected, '\s', '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), '(\n|\s)', ''), REGEX_REPLACE(expected, '\s', '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/doc/inner_html/set.fql b/e2e/tests/dynamic/doc/inner_html/set.fql index 16b97218..27025bb4 100644 --- a/e2e/tests/dynamic/doc/inner_html/set.fql +++ b/e2e/tests/dynamic/doc/inner_html/set.fql @@ -10,4 +10,4 @@ LET actual = INNER_HTML(doc, "body") LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(expected, r1, ''), REGEXP_REPLACE(TRIM(actual), r2, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(expected, r1, ''), REGEX_REPLACE(TRIM(actual), r2, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/doc/inner_text/get.fql b/e2e/tests/dynamic/doc/inner_text/get.fql index c0281811..c4fa4898 100644 --- a/e2e/tests/dynamic/doc/inner_text/get.fql +++ b/e2e/tests/dynamic/doc/inner_text/get.fql @@ -14,4 +14,4 @@ LET actual = INNER_TEXT(doc) LET r1 = '(\n|\s)' LET r2 = '(\n|\s)' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/doc/inner_text/get_by_selector.fql b/e2e/tests/dynamic/doc/inner_text/get_by_selector.fql index 0afe0312..d673901a 100644 --- a/e2e/tests/dynamic/doc/inner_text/get_by_selector.fql +++ b/e2e/tests/dynamic/doc/inner_text/get_by_selector.fql @@ -7,4 +7,4 @@ WAIT_ELEMENT(doc, "#layout") LET expected = 'Welcome to Ferret E2E test page!' LET actual = INNER_TEXT(doc, selector) -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), '(\n|\s)', ''), REGEXP_REPLACE(expected, '\s', '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), '(\n|\s)', ''), REGEX_REPLACE(expected, '\s', '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/doc/inner_text/get_by_selector_all.fql b/e2e/tests/dynamic/doc/inner_text/get_by_selector_all.fql index 58c0d33d..84604175 100644 --- a/e2e/tests/dynamic/doc/inner_text/get_by_selector_all.fql +++ b/e2e/tests/dynamic/doc/inner_text/get_by_selector_all.fql @@ -10,7 +10,7 @@ LET expected = [ ] LET actual = ( FOR str IN INNER_TEXT_ALL(doc, selector) - RETURN REGEXP_REPLACE(TRIM(str), '\n', '') + RETURN REGEX_REPLACE(TRIM(str), '\n', '') ) RETURN T::EQ(actual, expected) \ No newline at end of file diff --git a/e2e/tests/dynamic/doc/inner_text/set.fql b/e2e/tests/dynamic/doc/inner_text/set.fql index 0a0031f2..e5ac7198 100644 --- a/e2e/tests/dynamic/doc/inner_text/set.fql +++ b/e2e/tests/dynamic/doc/inner_text/set.fql @@ -10,4 +10,4 @@ LET actual = INNER_TEXT(doc, "body") LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/element/inner_html/get.fql b/e2e/tests/dynamic/element/inner_html/get.fql index 17089e4f..e4841631 100644 --- a/e2e/tests/dynamic/element/inner_html/get.fql +++ b/e2e/tests/dynamic/element/inner_html/get.fql @@ -8,4 +8,4 @@ LET actual = INNER_HTML(el) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/element/inner_html/set.fql b/e2e/tests/dynamic/element/inner_html/set.fql index 1a57d9d2..d5e0debd 100644 --- a/e2e/tests/dynamic/element/inner_html/set.fql +++ b/e2e/tests/dynamic/element/inner_html/set.fql @@ -11,4 +11,4 @@ WAIT(100) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/element/inner_text/get.fql b/e2e/tests/dynamic/element/inner_text/get.fql index 9578ec83..46e252d6 100644 --- a/e2e/tests/dynamic/element/inner_text/get.fql +++ b/e2e/tests/dynamic/element/inner_text/get.fql @@ -11,4 +11,4 @@ LET actual = INNER_TEXT(el) LET r1 = '(\n|\s)' LET r2 = '(\n|\s)' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/dynamic/element/inner_text/set.fql b/e2e/tests/dynamic/element/inner_text/set.fql index 4c3de9c7..e1291121 100644 --- a/e2e/tests/dynamic/element/inner_text/set.fql +++ b/e2e/tests/dynamic/element/inner_text/set.fql @@ -10,4 +10,4 @@ LET actual = INNER_TEXT(el) LET r1 = '(\n|\s)' LET r2 = '(\n|\s)' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/examples/blank-page.yaml b/e2e/tests/examples/blank-page.yaml index 0d447269..3db6dc08 100644 --- a/e2e/tests/examples/blank-page.yaml +++ b/e2e/tests/examples/blank-page.yaml @@ -1,5 +1,5 @@ query: - ref: file://../../../examples/blank-page.fql + ref: ../../../examples/blank-page.fql assert: text: | RETURN T::EQ(@lab.data.query.result, "https://www.google.com/") diff --git a/e2e/tests/examples/click.yaml b/e2e/tests/examples/click.yaml index 1cb6052e..ad50aab3 100644 --- a/e2e/tests/examples/click.yaml +++ b/e2e/tests/examples/click.yaml @@ -1,4 +1,4 @@ query: - ref: file://../../../examples/click.fql + ref: ../../../examples/click.fql assert: text: RETURN T::NOT::EMPTY(@lab.data.query.result) \ No newline at end of file diff --git a/e2e/tests/examples/download.yaml b/e2e/tests/examples/download.yaml index 5906ace0..d4cb434e 100644 --- a/e2e/tests/examples/download.yaml +++ b/e2e/tests/examples/download.yaml @@ -1,5 +1,5 @@ query: - ref: file://../../../examples/download.fql + ref: ../../../examples/download.fql assert: text: | LET result = @lab.data.query.result diff --git a/e2e/tests/examples/dynamic-page.yaml b/e2e/tests/examples/dynamic-page.yaml index bdcde59c..0a23e798 100644 --- a/e2e/tests/examples/dynamic-page.yaml +++ b/e2e/tests/examples/dynamic-page.yaml @@ -1,4 +1,4 @@ query: - ref: file://../../../examples/dynamic-page.fql + ref: ../../../examples/dynamic-page.fql assert: text: RETURN T::NOT::EMPTY(@lab.data.query.result) \ No newline at end of file diff --git a/e2e/tests/examples/google-search.yaml b/e2e/tests/examples/google-search.yaml index 4ee09da3..8253b48c 100644 --- a/e2e/tests/examples/google-search.yaml +++ b/e2e/tests/examples/google-search.yaml @@ -1,5 +1,5 @@ query: - ref: file://../../../examples/google-search.fql + ref: ../../../examples/google-search.fql params: criteria: "ferret" assert: diff --git a/e2e/tests/examples/iframes.yaml b/e2e/tests/examples/iframes.yaml index 993d5482..199e2c45 100644 --- a/e2e/tests/examples/iframes.yaml +++ b/e2e/tests/examples/iframes.yaml @@ -1,4 +1,4 @@ query: - ref: file://../../../examples/iframes.fql + ref: ../../../examples/iframes.fql assert: text: RETURN T::NOT::EMPTY(@lab.data.query.result) \ No newline at end of file diff --git a/e2e/tests/examples/inner_text_all.yaml b/e2e/tests/examples/inner_text_all.yaml index c7138bad..a4486acf 100644 --- a/e2e/tests/examples/inner_text_all.yaml +++ b/e2e/tests/examples/inner_text_all.yaml @@ -1,4 +1,4 @@ query: - ref: file://../../../examples/inner_text_all.fql + ref: ../../../examples/inner_text_all.fql assert: text: RETURN T::NOT::EMPTY(@lab.data.query.result) \ No newline at end of file diff --git a/e2e/tests/examples/static-page.yaml b/e2e/tests/examples/static-page.yaml index 71521116..5096037b 100644 --- a/e2e/tests/examples/static-page.yaml +++ b/e2e/tests/examples/static-page.yaml @@ -1,4 +1,4 @@ query: - ref: file://../../../examples/static-page.fql + ref: ../../../examples/static-page.fql assert: text: RETURN T::NOT::EMPTY(@lab.data.query.result) \ No newline at end of file diff --git a/e2e/tests/examples/value.yaml b/e2e/tests/examples/value.yaml index a71efc3f..1b6a0ffa 100644 --- a/e2e/tests/examples/value.yaml +++ b/e2e/tests/examples/value.yaml @@ -1,4 +1,4 @@ query: - ref: file://../../../examples/value.fql + ref: ../../../examples/value.fql assert: text: RETURN T::NOT::EMPTY(@lab.data.query.result) \ No newline at end of file diff --git a/e2e/tests/static/doc/inner_html/get.fql b/e2e/tests/static/doc/inner_html/get.fql index 87719fbf..4aff8284 100644 --- a/e2e/tests/static/doc/inner_html/get.fql +++ b/e2e/tests/static/doc/inner_html/get.fql @@ -16,4 +16,4 @@ LET actual = INNER_HTML(doc) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/static/doc/inner_html/get_by_selector.fql b/e2e/tests/static/doc/inner_html/get_by_selector.fql index 34cbc3b1..81031c56 100644 --- a/e2e/tests/static/doc/inner_html/get_by_selector.fql +++ b/e2e/tests/static/doc/inner_html/get_by_selector.fql @@ -4,4 +4,4 @@ LET doc = DOCUMENT(url) LET expected = '
  • Containers
  • Responsive breakpoints
  • Z-index
  • ' LET actual = INNER_HTML(doc, '.section-nav') -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), '(\n|\s)', ''), REGEXP_REPLACE(expected, '\s', '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), '(\n|\s)', ''), REGEX_REPLACE(expected, '\s', '')) \ No newline at end of file diff --git a/e2e/tests/static/doc/inner_text/get_by_selector.fql b/e2e/tests/static/doc/inner_text/get_by_selector.fql index 5f61d84f..422a9356 100644 --- a/e2e/tests/static/doc/inner_text/get_by_selector.fql +++ b/e2e/tests/static/doc/inner_text/get_by_selector.fql @@ -7,4 +7,4 @@ LET actual = INNER_TEXT(doc) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -RETURN T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) \ No newline at end of file +RETURN T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) \ No newline at end of file diff --git a/e2e/tests/static/element/inner_html/get.fql b/e2e/tests/static/element/inner_html/get.fql index f604660d..6d81e4ba 100644 --- a/e2e/tests/static/element/inner_html/get.fql +++ b/e2e/tests/static/element/inner_html/get.fql @@ -8,6 +8,6 @@ LET actual = INNER_HTML(el) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) +T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) RETURN NONE \ No newline at end of file diff --git a/e2e/tests/static/element/inner_html/set.fql b/e2e/tests/static/element/inner_html/set.fql index 4c70ce45..83862550 100644 --- a/e2e/tests/static/element/inner_html/set.fql +++ b/e2e/tests/static/element/inner_html/set.fql @@ -11,6 +11,6 @@ LET actual = INNER_HTML(el) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) +T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) RETURN NONE \ No newline at end of file diff --git a/e2e/tests/static/element/inner_text/get.fql b/e2e/tests/static/element/inner_text/get.fql index e196fb92..09432c23 100644 --- a/e2e/tests/static/element/inner_text/get.fql +++ b/e2e/tests/static/element/inner_text/get.fql @@ -8,6 +8,6 @@ LET actual = INNER_TEXT(el) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) +T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) RETURN NONE \ No newline at end of file diff --git a/e2e/tests/static/element/inner_text/set.fql b/e2e/tests/static/element/inner_text/set.fql index 4b886bcd..4788ac13 100644 --- a/e2e/tests/static/element/inner_text/set.fql +++ b/e2e/tests/static/element/inner_text/set.fql @@ -11,6 +11,6 @@ LET actual = INNER_TEXT(el) LET r1 = '(\s|\")' LET r2 = '(\n|\s|\")' -T::EQ(REGEXP_REPLACE(TRIM(actual), r2, ''), REGEXP_REPLACE(expected, r1, '')) +T::EQ(REGEX_REPLACE(TRIM(actual), r2, ''), REGEX_REPLACE(expected, r1, '')) RETURN NONE \ No newline at end of file diff --git a/go.sum b/go.sum index e8bb02f7..b071c13e 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,7 @@ -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Masterminds/glide v0.13.2/go.mod h1:STyF5vcenH/rUqTEv+/hBXlSTo7KYwg2oc2f4tzPWic= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/vcs v1.13.0/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA= -github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE= -github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/goquery v1.6.0 h1:j7taAbelrdcsOlGeMenZxc2AWXD5fieT1/znArdnx94= github.com/PuerkitoBio/goquery v1.6.0/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo= @@ -16,35 +13,27 @@ github.com/antchfx/xpath v1.1.10 h1:cJ0pOvEdN/WvYXxvRrzQH9x5QWKpzHacYO8qzCcDYAg= github.com/antchfx/xpath v1.1.10/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk= github.com/antlr/antlr4 v0.0.0-20200417160354-8c50731894e0 h1:j7MyDjg6pb7A2ziow17FDZ2Oj5vGnJsLyDmjpN4Jkcg= github.com/antlr/antlr4 v0.0.0-20200417160354-8c50731894e0/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/codegangsta/cli v1.20.0/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/corpix/uarand v0.1.1 h1:RMr1TWc9F4n5jiPDzFHtmaUXLKLNUFK0SgCLo4BhX/U= github.com/corpix/uarand v0.1.1/go.mod h1:SFKZvkcRoLqVRFZ4u25xPmp6m9ktANfbpXZ7SJ0/FNU= -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/derekparker/trie v0.0.0-20200317170641-1fdf38b7b0e9 h1:G765iDCq7bP5opdrPkXk+4V3yfkgV9iGFuheWZ/X/zY= github.com/derekparker/trie v0.0.0-20200317170641-1fdf38b7b0e9/go.mod h1:D6ICZm05D9VN1n/8iOtBxLpXtoGp6HDFUJ1RNVieOSE= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/google/go-cmp v0.4.1 h1:/exdXoGamhu5ONeUJH0deniYLWYvQwW66yvlfiiKTu0= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/mafredri/cdp v0.29.2 h1:8lZnyx/A1yLmhkqMK3hJP0JgIjllF8edRsWUtMzu1cc= -github.com/mafredri/cdp v0.29.2/go.mod h1:71D84qPmWUvBWYj24Zp+U69mrUof4o8qL2X1fQJ/lHc= github.com/mafredri/cdp v0.30.0 h1:Lvcwjajq6wB6Uk8dYeCLrF26LG85rUdpMxgrwdEvU0o= github.com/mafredri/cdp v0.30.0/go.mod h1:71D84qPmWUvBWYj24Zp+U69mrUof4o8qL2X1fQJ/lHc= github.com/mafredri/go-lint v0.0.0-20180911205320-920981dfc79e/go.mod h1:k/zdyxI3q6dup24o8xpYjJKTCf2F7rfxLp6w/efTiWs= @@ -55,20 +44,16 @@ github.com/ngdinhtoan/glide-cleanup v0.2.0/go.mod h1:UQzsmiDOb8YV3nOsCxK/c9zPpCZ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.19.0 h1:hYz4ZVdUgjXTBUmrkrw55j1nHx68LfOKIQk5IYtyScg= github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo= github.com/sethgrid/pester v1.1.0 h1:IyEAVvwSUPjs2ACFZkBe5N59BBUpSIkQ71Hr6cM5A+w= github.com/sethgrid/pester v1.1.0/go.mod h1:Ad7IjTpvzZO8Fl0vh9AzQ+j/jYZfyp2diGwI8m5q+ns= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -101,11 +86,7 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200601175630-2caf76543d99/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=