From 0d92a718516a47088e87d1a69aab5aa268255d7f Mon Sep 17 00:00:00 2001 From: Torkus <48141663+ogri-la@users.noreply.github.com> Date: Fri, 19 Apr 2024 00:25:27 +0930 Subject: [PATCH 01/13] adding more wowi tests, updating wowi test fixtures --- src/scb/main.clj | 4 +- src/scb/specs.clj | 2 +- src/scb/tags.clj | 6 +- src/scb/user.clj | 14 +- src/scb/utils.clj | 11 +- src/scb/wowi.clj | 3 +- ...detail--multiple-downloads--no-tabber.html | 1884 ++++++++++++----- ...on-detail--multiple-downloads--tabber.html | 1292 ++++++----- test/scb/core_test.clj | 1 - test/scb/tags_test.clj | 3 +- test/scb/wowi_test.clj | 390 +++- update-fixtures.sh | 6 + 12 files changed, 2463 insertions(+), 1153 deletions(-) create mode 100755 update-fixtures.sh diff --git a/src/scb/main.clj b/src/scb/main.clj index fbc1011..f29a544 100644 --- a/src/scb/main.clj +++ b/src/scb/main.clj @@ -15,9 +15,7 @@ :scrape-catalogue #(user/daily-addon-update) :scrape-wowinterface-catalogue #(user/daily-addon-update {:source-list [:wowinterface]}) ;; no distinction between scraping and writing - :scrape-github-catalogue #(user/daily-addon-update {:source-list [:github]}) - - }) + :scrape-github-catalogue #(user/daily-addon-update {:source-list [:github]})}) (defn start [{:keys [action]}] diff --git a/src/scb/specs.clj b/src/scb/specs.clj index 06c44c8..389b5b5 100644 --- a/src/scb/specs.clj +++ b/src/scb/specs.clj @@ -53,7 +53,7 @@ ;; -(s/def ::game-track #{:retail :classic :classic-tbc :classic-wotlk}) +(s/def ::game-track #{:retail :classic :classic-tbc :classic-wotlk :classic-cata}) (s/def ::game-track-list (s/coll-of ::game-track :distinct true)) (s/def ::interface-version int?) ;; 90005, 11307, 20501 diff --git a/src/scb/tags.clj b/src/scb/tags.clj index c38067d..827b460 100644 --- a/src/scb/tags.clj +++ b/src/scb/tags.clj @@ -121,13 +121,11 @@ sp/placeholder (def replacement-map {:wowinterface (merge general-replacements wowi-replacements) - :curseforge (merge general-replacements curse-replacements) - }) + :curseforge (merge general-replacements curse-replacements)}) (def supplement-map {:wowinterface (merge general-supplements wowi-supplements) - :curseforge (merge general-supplements curse-supplements) - }) + :curseforge (merge general-supplements curse-supplements)}) ;; diff --git a/src/scb/user.clj b/src/scb/user.clj index 6ee0a42..555a071 100644 --- a/src/scb/user.clj +++ b/src/scb/user.clj @@ -1,10 +1,11 @@ (ns scb.user + (:refer-clojure :exclude [test]) (:require [orchestra.core :refer [defn-spec]] [taoensso.timbre :as timbre :refer [debug info warn error spy]] ;;[net.cgrand.enlive-html :as html :refer [select]] ;;[clojure.pprint] - [clojure.test :as clj-test] + [clojure.test] [me.raynes.fs :as fs] [gui.diff :refer [with-gui-diff]] [scb @@ -22,8 +23,7 @@ (def ns-list [:core :utils :tags - :wowi :github - ]) + :wowi :github]) (defn test [& [ns-kw fn-kw]] @@ -61,9 +61,9 @@ (if fn-kw ;; `test-vars` will run the test but not give feedback if test passes OR test not found ;; slightly better than nothing - (clj-test/test-vars [(resolve (symbol (str "scb." (name ns-kw) "-test") (name fn-kw)))]) - (clj-test/run-all-tests (re-pattern (str "scb." (name ns-kw) "-test")))))) - (clj-test/run-all-tests #"scb\..*-test")))) + (clojure.test/test-vars [(resolve (symbol (str "scb." (name ns-kw) "-test") (name fn-kw)))]) + (clojure.test/run-all-tests (re-pattern (str "scb." (name ns-kw) "-test")))))) + (clojure.test/run-all-tests #"scb\..*-test")))) (finally ;; use case: we run the tests from the repl and afterwards we call `restart` to start the app. ;; `stop` inside `restart` will be outside of `with-redefs` and still have logging `:min-level` set to `:debug` @@ -80,7 +80,7 @@ ;;http/*default-attempts* 1 ] (with-gui-diff - (clj-test/run-all-tests #"scb\..*-test"))) + (clojure.test/run-all-tests #"scb\..*-test"))) (finally nil))) diff --git a/src/scb/utils.clj b/src/scb/utils.clj index a5690c2..cb6b4e5 100644 --- a/src/scb/utils.clj +++ b/src/scb/utils.clj @@ -161,6 +161,8 @@ "2." :classic-tbc ;; 3.x.x == classic (wrath of the lich king) "3." :classic-wotlk + ;; 4.x.x == classic (cata) + "4." :classic-cata :retail))) (defn-spec dump-json-file ::sp/extant-file @@ -237,12 +239,14 @@ (-> unix-time jt/instant str)) (defn-spec guess-game-track (s/nilable ::sp/game-track) - "returns the first game track it finds in the given string, preferring `:classic-tbc`, then `:classic`, then `:retail` (most to least specific). + "returns the first game track it finds in the given string, preferring most to least specific. returns `nil` if no game track found." [string (s/nilable string?)] (when string - (let [;; matches 'classic-wotlk', 'classic_wotlk', 'classic-wrath', 'classic_wrath', 'wotlk', 'wrath' - classic-wotlk-regex #"(?i)(classic[\W_])?(wrath|wotlk){1}\W?" + (let [;; matches 'cata'. less variation this time around. + classic-cata-regex #"(?i)[\W_]?cata([\W_]?|$)" + ;; matches 'classic-wotlk', 'classic_wotlk', 'classic-wrath', 'classic_wrath', 'wotlk', 'wrath' + classic-wotlk-regex #"(?i)(classic[\W_])?(wrath|wotlk)([\W_]|$)?" ;; matches 'classic-tbc', 'classic-bc', 'classic-bcc', 'classic_tbc', 'classic_bc', 'classic_bcc', 'tbc', 'tbcc', 'bc', 'bcc' ;; but not 'classictbc' or 'classicbc' or 'classicbcc' ;; see tests. @@ -250,6 +254,7 @@ classic-regex #"(?i)classic|vanilla" retail-regex #"(?i)retail|mainline"] (cond + (re-find classic-cata-regex string) :classic-cata (re-find classic-wotlk-regex string) :classic-wotlk (re-find classic-tbc-regex string) :classic-tbc (re-find classic-regex string) :classic diff --git a/src/scb/wowi.clj b/src/scb/wowi.clj index 84819a2..68f6640 100644 --- a/src/scb/wowi.clj +++ b/src/scb/wowi.clj @@ -101,7 +101,8 @@ (defn extract-source-id-2 [s] - (utils/str-to-int (last (re-find (re-matcher #"info(\d+)" s))))) + (when s + (utils/str-to-int (last (re-find (re-matcher #"info(\d+)" s)))))) (defn-spec web-addon-url ::sp/url [source-id :addon/source-id] diff --git a/test/fixtures/wowinterface--addon-detail--multiple-downloads--no-tabber.html b/test/fixtures/wowinterface--addon-detail--multiple-downloads--no-tabber.html index 73e4732..351f3dd 100644 --- a/test/fixtures/wowinterface--addon-detail--multiple-downloads--no-tabber.html +++ b/test/fixtures/wowinterface--addon-detail--multiple-downloads--no-tabber.html @@ -9,12 +9,12 @@ - + - - @@ -58,46 +47,9 @@ - - - - - - - - + + + - - +
+Compatibility: | Visions of N'Zoth (8.3.0) BfA content patch (8.2.5) |
+Compatibility: | Plunderstorm (10.2.6) |
Updated: | 03-29-22 09:32 AM | +Updated: | 04-15-24 04:06 PM |
Created: | 03-28-22 09:32 AM | +Created: | unknown |
Downloads: | 419,918 | +Downloads: | 428,463 |
Favorites: | 1,154 | +Favorites: | 1,153 |
MD5: | + | MD5: | |
Categories: | Unit Mods, The Burning Crusade Classic, Classic - General, Buff, Debuff, Spell, Casting Bars, Cooldowns, Combat Mods | +Categories: | Unit Mods, The Burning Crusade Classic, Classic - General, WOTLK Classic, Buff, Debuff, Spell, Casting Bars, Cooldowns, Combat Mods |
Feel free to if you enjoy using IceHUD and feel generous.
-
-
-Summary
-IceHUD is a highly configurable and customizable HUD addon in the spirit of DHUD, MetaHUD, and others designed to keep your focus in the center of the screen where your character is.
-
-What it is
-Player and target health and mana bars, casting and mirror bars, pet health and mana bars, druid mana bar in forms, extensive target info, ToT display, and much more
-
+
Feel free to if you enjoy using IceHUD and feel generous.
+
+
+Summary
+IceHUD is a highly configurable and customizable HUD addon in the spirit of DHUD, MetaHUD, and others designed to keep your focus in the center of the screen where your character is.
+
+What it is
+Player and target health and mana bars, casting and mirror bars, pet health and mana bars, druid mana bar in forms, extensive target info, ToT display, and much more
+
Short feature list
- | 1.13.13-alpha1 |
++ | v1.14.37 |
+1MB |
+Parnic |
+04-04-24 07:15 AM |
+|
+ | v1.14.36 |
+1MB |
+Parnic |
+02-10-24 02:51 PM |
+|||
+ | v1.14.35 |
+1MB |
+Parnic |
+02-10-24 10:14 AM |
+|||
+ | v1.14.35-alpha1 |
+1MB |
+Parnic |
+02-07-24 05:44 PM |
+|||
+ | v1.14.35-alpha1 |
+1MB |
+Parnic |
+01-21-24 12:38 PM |
+|||
+ | v1.14.34 |
+1MB |
+Parnic |
+01-19-24 09:04 AM |
+|||
+ | v1.14.33 |
+1MB |
+Parnic |
+01-16-24 05:28 PM |
+|||
+ | v1.14.32 |
+1MB |
+Parnic |
+01-07-24 02:52 PM |
+|||
+ | v1.14.31 |
+1MB |
+Parnic |
+12-26-23 03:49 PM |
+|||
+ | v1.14.30 |
+1MB |
+Parnic |
+12-10-23 07:00 PM |
+|||
+ | v1.14.29 |
+1MB |
+Parnic |
+11-08-23 09:34 AM |
+|||
+ | v1.14.28 |
+1MB |
+Parnic |
+11-07-23 04:37 PM |
+|||
+ | v1.14.27 |
+1MB |
+Parnic |
+09-08-23 09:31 AM |
+|||
+ | v1.14.26 |
+1MB |
+Parnic |
+08-23-23 01:39 PM |
+|||
+ | v1.14.25 |
+1MB |
+Parnic |
+08-03-23 04:01 PM |
+|||
+ | v1.14.24 |
+1MB |
+Parnic |
+07-17-23 02:15 AM |
+|||
+ | v1.14.23 |
+1MB |
+Parnic |
+07-11-23 03:53 PM |
+|||
+ | v1.14.22 |
+1MB |
+Parnic |
+07-05-23 12:35 PM |
+|||
+ | v1.14.22-alpha2 |
+1MB |
+Parnic |
+07-04-23 09:20 AM |
+|||
+ | v1.14.22-alpha1 |
+1MB |
+Parnic |
+06-05-23 09:34 PM |
+|||
+ | v1.14.21 |
+1MB |
+Parnic |
+05-18-23 09:29 AM |
+|||
+ | v1.14.20 |
+1MB |
+Parnic |
+05-11-23 09:26 AM |
+|||
+ | v1.14.19 |
+1MB |
+Parnic |
+05-03-23 05:25 PM |
+|||
+ | v1.14.18 |
+1MB |
+Parnic |
+04-05-23 07:18 AM |
+|||
+ | v1.14.18 |
+1MB |
+Parnic |
+04-01-23 08:00 PM |
+|||
+ | v1.14.17 |
+1MB |
+Parnic |
+04-01-23 02:34 PM |
+|||
+ | v1.14.16 |
+1MB |
+Parnic |
+02-14-23 10:53 AM |
+|||
+ | v1.14.16-alpha1 |
+1MB |
+Parnic |
+02-06-23 12:20 AM |
+|||
+ | v1.14.15 |
+1MB |
+Parnic |
+01-25-23 01:42 PM |
+|||
+ | v1.14.14 |
+1MB |
+Parnic |
+01-22-23 03:58 PM |
+|||
+ | v1.14.13 |
+1MB |
+Parnic |
+01-21-23 08:43 PM |
+|||
+ | v1.14.12 |
+1MB |
+Parnic |
+01-19-23 01:40 PM |
+|||
+ | v1.14.12-alpha1 |
+1MB |
+Parnic |
+01-15-23 01:05 PM |
+|||
+ | v1.14.11 |
+1MB |
+Parnic |
+01-13-23 09:36 AM |
+|||
+ | v1.14.10 |
+1MB |
+Parnic |
+12-19-22 12:53 PM |
+|||
+ | v1.14.9 |
+1MB |
+Parnic |
+12-13-22 08:49 PM |
+|||
+ | v1.14.8 |
+1MB |
+Parnic |
+11-25-22 10:40 PM |
+|||
+ | v1.14.7 |
+1MB |
+Parnic |
+11-23-22 10:39 PM |
+|||
+ | v1.14.0 |
+1MB |
+Parnic |
+11-23-22 06:52 PM |
+|||
+ | v1.14.6 |
+1MB |
+Parnic |
+11-20-22 11:08 AM |
+|||
+ | v1.14.5 |
+1MB |
+Parnic |
+11-16-22 09:59 PM |
+|||
+ | v1.14.4 |
+1MB |
+Parnic |
+11-15-22 10:17 AM |
+|||
+ | v1.14.3 |
+1MB |
+Parnic |
+11-12-22 08:06 PM |
+|||
+ | v1.14.2 |
+1MB |
+Parnic |
+10-31-22 10:38 PM |
+|||
+ | v1.14.1 |
+1MB |
+Parnic |
+10-30-22 10:22 PM |
+|||
+ | v1.14.0 |
+1MB |
+Parnic |
+10-30-22 08:26 AM |
+|||
+ | v1.14.0-alpha4 |
+1MB |
+Parnic |
+10-29-22 04:26 PM |
+|||
+ | v1.14.0-alpha4 |
+1MB |
+Parnic |
+10-28-22 09:50 PM |
+|||
+ | v1.14.0-alpha3 |
+1MB |
+Parnic |
+10-28-22 07:50 AM |
+|||
+ | v1.14.0-alpha2 |
+1MB |
+Parnic |
+10-27-22 12:36 PM |
+|||
+ | v1.14.0-alpha1 |
+1MB |
+Parnic |
+10-27-22 07:04 AM |
+|||
+ | 1.13.17.3 |
+1MB |
+Parnic |
+10-04-22 09:44 PM |
+|||
+ | 1.13.17.2 |
+1MB |
+Parnic |
+09-20-22 01:29 PM |
+|||
+ | 1.13.17.1 |
+1MB |
+Parnic |
+09-19-22 09:23 AM |
+|||
+ | 1.13.17 |
+1MB |
+Parnic |
+09-18-22 10:39 PM |
+|||
+ | 1.13.16 |
+1MB |
+Parnic |
+09-02-22 01:37 PM |
+|||
+ | 1.13.15 |
+1MB |
+Parnic |
+08-31-22 06:15 PM |
+|||
+ | 1.13.15-alpha2 |
+1MB |
+Parnic |
+08-30-22 09:27 PM |
+|||
+ | 1.13.15-alpha1 |
+1MB |
+Parnic |
+08-30-22 09:07 PM |
+|||
+ | 1.13.14.3 |
+1MB |
+Parnic |
+06-06-22 08:04 AM |
+|||
+ | 1.13.14.2 |
+1MB |
+Parnic |
+06-05-22 10:31 PM |
+|||
+ | 1.13.14.1 |
+1MB |
+Parnic |
+06-01-22 03:28 PM |
+|||
+ | 1.13.14 |
+1MB |
+Parnic |
+06-01-22 07:33 AM |
+|||
+ | 1.13.14-alpha1 |
+1MB |
+Parnic |
+05-02-22 11:24 AM |
+|||
+ | 1.13.13 |
+1MB |
+Parnic |
+03-28-22 09:32 AM |
+|||
+ | 1.13.13-alpha1 |
+1MB |
+Parnic |
+03-24-22 11:25 AM |
+|||
+ | 1.13.12 |
1MB |
Parnic |
-03-24-22 11:25 AM |
+03-22-22 10:18 PM |
||
- | 1.13.12 |
++ | 1.13.12-alpha1 |
1MB |
Parnic |
-03-22-22 10:18 PM |
+03-22-22 03:03 PM |
- | 1.13.12-alpha1 |
++ | 1.13.11 |
1MB |
Parnic |
-03-22-22 03:03 PM |
+01-28-22 11:23 AM |
- | 1.13.11 |
++ | 1.13.10 |
1MB |
Parnic |
-01-28-22 11:23 AM |
+11-11-21 01:02 PM |
- | 1.13.10 |
++ | 1.13.9 |
1MB |
Parnic |
-11-11-21 01:02 PM |
+10-14-21 06:57 PM |
+
+ | 1.13.9-alpha1 |
+1MB |
+Parnic |
+10-12-21 08:24 PM |
+|||
+ | 1.13.8.1 |
+1MB |
+Parnic |
+09-10-21 01:10 PM |
+|||
+ | 1.13.8 |
+1MB |
+Parnic |
+09-05-21 08:37 AM |
+|||
+ | 1.13.7 |
+1MB |
+Parnic |
+07-19-21 11:54 AM |
+|||
+ | 1.13.6 |
+1MB |
+Parnic |
+06-29-21 07:15 AM |
+|||
+ | 1.13.5 |
+1MB |
+Parnic |
+06-26-21 01:23 PM |
+|||
+ | 1.13.5-alpha3 |
+1MB |
+Parnic |
+05-21-21 06:43 AM |
+|||
+ | 1.13.5-alpha3 |
+1MB |
+Parnic |
+05-21-21 06:33 AM |
+|||
+ | 1.13.5-alpha2 |
+1MB |
+Parnic |
+05-20-21 07:51 PM |
+|||
+ | 1.13.5-alpha1 |
+1MB |
+Parnic |
+05-09-21 04:13 PM |
+|||
+ | 1.13.5-alpha1 |
+1MB |
+Parnic |
+05-09-21 04:05 PM |
+|||
+ | 1.13.5-alpha1 |
+1MB |
+Parnic |
+05-09-21 11:07 AM |
+|||
+ | 1.13.4 |
+1MB |
+Parnic |
+04-25-21 09:55 PM |
+|||
+ | 1.13.4-alpha1 |
+1MB |
+Parnic |
+04-13-21 08:34 PM |
+|||
+ | 1.13.3 |
+1MB |
+Parnic |
+03-22-21 08:45 PM |
+|||
+ | 1.13.3-alpha1 |
+1MB |
+Parnic |
+03-21-21 10:24 AM |
+ | Comment Options | @@ -497,8 +1256,108 @@ | + + | +|
+
+
+snj2245
+
+
+A Kobold Labourer
+
+
+
++ Forum posts: 0
+File comments: 2
+Uploads: 0
+ |
+
+
+
+ Wow dude, you responded and updated so fast. That's amazing, thank you so much.
|
+|||
+ + + + | +
+ + + + + |
+
snj2245 | +
View Public Profile |
Send a private message to snj2245 |
Find More Posts by snj2245 |
Add snj2245 to Your Buddy List |
+ + +01-07-24, 02:51 PM |
@@ -508,19 +1367,19 @@ IceHUD
-
-Parnic
-
+
@@ -567,27 +1420,27 @@
+Parnic
+
A Murloc Raider
@@ -528,35 +1387,29 @@ This is done in IceHUD v1.14.32.IceHUD
-
|
-Originally Posted by Parnic
+Originally Posted by snj2245
-I'm posting alpha builds over on WowAce/Curseforge for now when I get a few spare minutes to work on this.
+I'm having issue's making a debuff target module in classic. I don't have the "unit to track" option that i do in wrath, and i've loaded a bunch of different versions of icehud.
|
+ + +10-10-23, 07:25 PM + + | ++ + | +||||
+
+
+Jet Black Skies
+
+
+
|
-+ |
+
+
+Re: Re: Re: Re: Best Hud
+
++ - 9.0 release is posted.
+I apologize I feel so stupid. It was another addon that I thought was a different part of the UI. Everything's good on my end thanks for responding.
@@ -721,29 +1640,29 @@ IceHUD
-
-
+ |
-
-Originally Posted by Parnic
-
-
- Correct, Blizzard made this change in the 8.0 client to thwart cast lag displays. The workarounds are unreliable.
|
-
-
-Originally Posted by Parnic
-
-
- Correct, Blizzard made this change in the 8.0 client to thwart cast lag displays. The workarounds are unreliable.
|
-
-Originally Posted by heyer
+Originally Posted by zervz
-Hey there,
+- -The cast bar lag indicator doesn't show up for me in Classic. -It seems that UNIT_SPELLCAST_START and UNIT_SPELLCAST_SENT occur at the exact same time, which messes up the lag measurement based on the difference between the two. - -Best, -Heyer Other than this Log in at first. It's working as it should be.
|
Parnic |
View Public Profile |
Send a private message to Parnic |
Find More Posts by Parnic |
Add Parnic to Your Buddy List |
- - -08-30-19, 02:20 PM - - | -- - | -
-
-
-seuldieu
-
-
-A Kobold Labourer
-
-
-
-- Forum posts: 0
-File comments: 2
-Uploads: 0
- |
-
-
-
-Buff/Debuff timers?
-
-- - - I'm using OmniCC which adds buff/debuff timers to my other add-ons, but it doesn’t seem to do anything for IceHUD. Am I doing something wrong? How can I have buff/debuff timers as shown in the IceHUD screenshot?
-
-
-
-
-- -Also, thank you Parnic, this is a great add-on!
-
-Last edited by seuldieu : 08-30-19 at 02:21 PM.
-
-
-
- |
-
- - - - | -
- - - - - |
-
-
-Originally Posted by zebus
-
-
- That's cool dude, again appreciate everything you've done, tossed you a donation.
- -But just to answer the question, it's an addon (library?) someone else wrote that adds in timers for debuffs since they didn't exist natively in classic (You could see there was a debuff on a target but not the remaining time spinner). Lot of the unit frames have been hooking into it. |
-
-
-Originally Posted by Parnic
-
-
- I don't know what classic aura durations is and don't have any intention of actually playing Classic. I'd gladly accept a code submission to add this.
|
-
- - -08-17-19, 10:28 PM - - | -- - | -||||
-
-
-Parnic
-
-
-
- |
-
-
- I don't know what classic aura durations is and don't have any intention of actually playing Classic. I'd gladly accept a code submission to add this.
I'm running into a weird bug with the Rune Bar in WotLK classic - every time I swap specs, the bar goes away entirely until I reload my UI.
@@ -1843,87 +2477,89 @@ IceHUD
-
-
+ |
+ |