arelle-release 2.36.26__py3-none-any.whl → 2.36.28__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arelle-release might be problematic. Click here for more details.
- arelle/ModelInstanceObject.py +3 -0
- arelle/_version.py +2 -2
- arelle/oim/Load.py +2 -2
- arelle/plugin/saveHtmlEBAtables.py +290 -215
- arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +2 -2
- arelle/utils/PluginHooks.py +27 -0
- {arelle_release-2.36.26.dist-info → arelle_release-2.36.28.dist-info}/METADATA +1 -1
- {arelle_release-2.36.26.dist-info → arelle_release-2.36.28.dist-info}/RECORD +16 -15
- {arelle_release-2.36.26.dist-info → arelle_release-2.36.28.dist-info}/WHEEL +1 -1
- tests/integration_tests/scripts/tests/eba_tablesets.py +119 -0
- tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/ArelleGUITest.csproj +2 -2
- tests/integration_tests/validation/conformance_suite_configurations/efm_current.py +2 -7
- tests/resources/conformance_suites_timing/efm_current.json +8583 -8385
- {arelle_release-2.36.26.dist-info → arelle_release-2.36.28.dist-info}/LICENSE.md +0 -0
- {arelle_release-2.36.26.dist-info → arelle_release-2.36.28.dist-info}/entry_points.txt +0 -0
- {arelle_release-2.36.26.dist-info → arelle_release-2.36.28.dist-info}/top_level.txt +0 -0
|
@@ -37,7 +37,7 @@ arelle/Locale.py,sha256=su6qJg4eUzYveTbXt9X0i28fKTDpZKNUMdiFPQ0_DgY,33366
|
|
|
37
37
|
arelle/ModelDocument.py,sha256=bP8WbSmBlk3ZxgrQxIfXMfU3Xjo7kgTtWZzxnCZvI88,129211
|
|
38
38
|
arelle/ModelDtsObject.py,sha256=JXPRiFOsbB5tZjEDc6rECuUtXMbF4oxfnwrQvKo-i5U,88656
|
|
39
39
|
arelle/ModelFormulaObject.py,sha256=beUSxEFm7aoa9iimmvXLYCHdizAtOmhDqk6wmvbc9Zg,122537
|
|
40
|
-
arelle/ModelInstanceObject.py,sha256=
|
|
40
|
+
arelle/ModelInstanceObject.py,sha256=pAcwQBr85_fQCGT18JSOGGwzAZ3J-oWIU9sj9UUXLOk,73928
|
|
41
41
|
arelle/ModelManager.py,sha256=1TflmGhni3ox_yTmZl5JKU_hGlVXmN-2q_Ncgh4h9A4,10926
|
|
42
42
|
arelle/ModelObject.py,sha256=Rttkhv-PtfneZyDYsG5FDh98BzT97ameTmwNdqFaOv0,18657
|
|
43
43
|
arelle/ModelObjectFactory.py,sha256=XuNF4Re3p00tODCdyspfar_DNCXfARqCaLEkntgAZ0g,8750
|
|
@@ -123,7 +123,7 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
|
|
|
123
123
|
arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
|
|
124
124
|
arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
|
|
125
125
|
arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
arelle/_version.py,sha256=
|
|
126
|
+
arelle/_version.py,sha256=tJiPkS-G5y5JI9hiARsGARKpL6tXZNcDHhGYM05HqHo,515
|
|
127
127
|
arelle/typing.py,sha256=Ct5lrNKRow_o9CraMEXNza8nFsJ_iGIKoUeGfPs2dxI,1084
|
|
128
128
|
arelle/api/Session.py,sha256=Vd09RAutWX7mxHSsrW7Bl8CsE1UzXpQpAJsZb55mqng,6188
|
|
129
129
|
arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
|
|
@@ -294,7 +294,7 @@ arelle/model/CommentBase.py,sha256=NtC2lFd9Mt1y7kzWwrpvexwqBdfSe1nvGFiIJeio3rU,1
|
|
|
294
294
|
arelle/model/ElementBase.py,sha256=pZX836d4-s-OvzPMUusvEDezI9D_6YKO7_j6iDcUXm4,404
|
|
295
295
|
arelle/model/PIBase.py,sha256=easZ3pKXJ5wq3NFB2pDtBeXNDcjwMAXylpXz6mnumOg,257
|
|
296
296
|
arelle/model/__init__.py,sha256=RLmC1rTus3T_2Vvnu3yHtdw1r0wrZCHZoqxe8BLg_wE,595
|
|
297
|
-
arelle/oim/Load.py,sha256=
|
|
297
|
+
arelle/oim/Load.py,sha256=3oQj7t9qkIqPkufN-M6Vri0tr_sVERGJl14OT6PQzww,180214
|
|
298
298
|
arelle/oim/Validate.py,sha256=IaBClr2KYMiVC_GKYy4_A9gF7hcnm-lxXpQrDCqIWGs,9012
|
|
299
299
|
arelle/oim/xml/Save.py,sha256=MdaJiGcEo4nbQCX9sRgWfVIoxp6fd2N-wuLiDAS9D-I,607
|
|
300
300
|
arelle/packages/PackageConst.py,sha256=iIIF-Ic8zlMPiiCq3PcV57aWci6ispBtilSG4W7ZW4U,121
|
|
@@ -321,7 +321,7 @@ arelle/plugin/profileCmdLine.py,sha256=uLL0fGshpiwtzyLKAtW0WuXAvcRtZgxQG6swM0e4B
|
|
|
321
321
|
arelle/plugin/profileFormula.py,sha256=PK273bQpYO-87QMFpBVQmnqGKfjDElIXPhAwc8Nyp04,5548
|
|
322
322
|
arelle/plugin/saveCHComponentFile.py,sha256=phW-n96P0BWONLqX3wBcuNcDa_IQ8QVfFWKL9NRrh7k,7242
|
|
323
323
|
arelle/plugin/saveDTS.py,sha256=D8hfFiM9Gc9LE7ZV0-pDvOHeU7Y5ebOzZx_nXzoZrl8,3216
|
|
324
|
-
arelle/plugin/saveHtmlEBAtables.py,sha256=
|
|
324
|
+
arelle/plugin/saveHtmlEBAtables.py,sha256=OITN4ftI_atUO5NvrDJDKUc0CAk67GY68Jl16xDBXiI,10961
|
|
325
325
|
arelle/plugin/saveLoadableExcel.py,sha256=ZPYB6injFabav0dRzgS7adCFzfHkwtftjl3PfBjijuU,20539
|
|
326
326
|
arelle/plugin/saveLoadableOIM.py,sha256=19R5mZzIDkPohEdabs22nOhIZoEPe8vR0HczqN3oSI0,36239
|
|
327
327
|
arelle/plugin/saveSKOS.py,sha256=7Z1Qedf83zMo9EbigKkxNpiMjzkTYQvLEnwWMObLc1Y,12465
|
|
@@ -368,7 +368,7 @@ arelle/plugin/validate/ESEF/ESEF_2021/DTS.py,sha256=6Za7BANwwc_egxLCgbgWzwUGOXZv
|
|
|
368
368
|
arelle/plugin/validate/ESEF/ESEF_2021/Image.py,sha256=4bnhuy5viBU0viPjb4FhcRRjVVKlNdnKLFdSGg3sZvs,4871
|
|
369
369
|
arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py,sha256=6Sa9zBZb2IAO72dkX6hOobjPd-58LuOcuwVKlETQsaQ,62811
|
|
370
370
|
arelle/plugin/validate/ESEF/ESEF_2021/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
371
|
-
arelle/plugin/validate/ESEF/ESEF_Current/DTS.py,sha256=
|
|
371
|
+
arelle/plugin/validate/ESEF/ESEF_Current/DTS.py,sha256=epp-PBh1NJzQqgxUE6C468HmoDc2w3j54rMwfiOAry4,29334
|
|
372
372
|
arelle/plugin/validate/ESEF/ESEF_Current/Image.py,sha256=w36sCTy8QbsuKABjkK6PTWce2A4zFN_rMnEM2wi5WEc,11364
|
|
373
373
|
arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py,sha256=rSkL31NZiKQ65oQoJEeVYqSslBCG1tRJa59BhHlOKFo,73080
|
|
374
374
|
arelle/plugin/validate/ESEF/ESEF_Current/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -697,7 +697,7 @@ arelle/scripts-macOS/startWebServer.command,sha256=KXLSwAwchDZBlL-k9PYXdf39RNBtt
|
|
|
697
697
|
arelle/scripts-unix/startWebServer.sh,sha256=_0puRzaGkdMZoFn3R7hDti9a3ryN6kTZAXwLweeZU1s,42
|
|
698
698
|
arelle/scripts-windows/startWebServer.bat,sha256=qmnF1yrjNo__bi4QodONWlN0qHShVLTKptJQYyZtgcY,122
|
|
699
699
|
arelle/utils/PluginData.py,sha256=GUnuZaApm1J4Xm9ZA1U2M1aask-AaNGviLtc0fgXbFg,265
|
|
700
|
-
arelle/utils/PluginHooks.py,sha256=
|
|
700
|
+
arelle/utils/PluginHooks.py,sha256=USi7zEZzwzTnKdKSyM3Xjacodo6YcU_Lb3EPQwWiVg4,30220
|
|
701
701
|
arelle/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
702
702
|
arelle/utils/validate/Decorator.py,sha256=8LGmA171HZgKrALtsMKyHqMNM-XCdwJOv6KpZz4pC2c,3161
|
|
703
703
|
arelle/utils/validate/DetectScriptsInXhtml.py,sha256=JOgsUP0_kvE6O3TuhzKxqKG1ZFP9LrUYZBgrar6JEm0,2178
|
|
@@ -716,6 +716,7 @@ tests/integration_tests/scripts/script_util.py,sha256=MuLV2X4NfaVcLXTSq1C4lxnInH
|
|
|
716
716
|
tests/integration_tests/scripts/test_scripts.py,sha256=6kSN385J3KG3k9rQN3aPP9bx70vzpCb4PbUGbGbJYU8,506
|
|
717
717
|
tests/integration_tests/scripts/tests/duplicate_facts_deduplication.py,sha256=qMWTwbIJmKMncEiDjoHIkQYJYKUmxj3JJ_S1hTlLAMs,4698
|
|
718
718
|
tests/integration_tests/scripts/tests/duplicate_facts_validate.py,sha256=hxguoZZnyaPdWfAeLwfbLpIRpTbB6O-nJ5E4j7XYLRE,3743
|
|
719
|
+
tests/integration_tests/scripts/tests/eba_tablesets.py,sha256=6uayfssQ7p3zyw6IUcIhraQMJiTsIVPxqYzQWdLx5q8,4232
|
|
719
720
|
tests/integration_tests/scripts/tests/entry_point_from_taxonomy_package.py,sha256=KCaK08pQ6N18lIUxhWbeyvNeYQdSHk0Rxi86On3W_n8,1525
|
|
720
721
|
tests/integration_tests/scripts/tests/ixbrl-viewer_cli.py,sha256=OdXj9p148MG9fycO3opyNIClYEDhyf8z4HKGFhrEAYU,2222
|
|
721
722
|
tests/integration_tests/scripts/tests/ixbrl-viewer_webserver.py,sha256=dDcftyfu9IA2qWih9CZUfoTmjeP_Zmng488N7Gp1wFU,2848
|
|
@@ -726,7 +727,7 @@ tests/integration_tests/scripts/tests/python_api_query_model.py,sha256=Ut87tvE-h
|
|
|
726
727
|
tests/integration_tests/scripts/tests/python_api_taxonomy_service.py,sha256=C6j7BB9h7CX_dUmVFkpnqElShffRSmCI-TMJkueztGM,2711
|
|
727
728
|
tests/integration_tests/scripts/tests/python_api_validate_esef.py,sha256=Qzi2RRGWjkTVhAjBB18DeJ3X_M9hJYH1TAk7j_RVv5Q,2423
|
|
728
729
|
tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest.sln,sha256=uzzvHUtKpmBPpoxdfHd7cCmAkdvjs7mMehO6YHebdTY,1499
|
|
729
|
-
tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/ArelleGUITest.csproj,sha256=
|
|
730
|
+
tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/ArelleGUITest.csproj,sha256=lYyFMaH5STiRA2Es4ThRdVgfXdFYK2PEMHwmd7V7At4,1387
|
|
730
731
|
tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/Tests.cs,sha256=_0TvabpERmrfaoDSazN-xQAH0qzO3cAnuFHLGLRJnGU,20334
|
|
731
732
|
tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/Usings.cs,sha256=0IC7tQ27uAqlt8ZGBrJPK7BPj3kjiodPcHWB3v_JT-o,29
|
|
732
733
|
tests/integration_tests/ui_tests/resources/workiva.zip,sha256=QtZzi1VcKkHhVa8J-I1wVpQFy-p6tsV95Z0HmI6XbXc,223544
|
|
@@ -743,7 +744,7 @@ tests/integration_tests/validation/validation_util.py,sha256=W5_NpjlqVKlmV8LGgzQ
|
|
|
743
744
|
tests/integration_tests/validation/conformance_suite_configurations/cipc_current.py,sha256=qiCU5T4xf9nI0eB9UUOya8z4UF7DEcdmJO9mSJOhIY0,598
|
|
744
745
|
tests/integration_tests/validation/conformance_suite_configurations/dba_current.py,sha256=etV7p8ulvZVzgPeCakfgU8sJkkqBemqv8fr7Yy3JvfE,831
|
|
745
746
|
tests/integration_tests/validation/conformance_suite_configurations/dba_multi_current.py,sha256=HgedW76v8bsCIuiUJP0j41p5meYnHxClqh1-DQ_1q2w,793
|
|
746
|
-
tests/integration_tests/validation/conformance_suite_configurations/efm_current.py,sha256=
|
|
747
|
+
tests/integration_tests/validation/conformance_suite_configurations/efm_current.py,sha256=LoAuqV3uMiQSfgQ34c_T70ph3YT7py5nu10podbIFRM,1322
|
|
747
748
|
tests/integration_tests/validation/conformance_suite_configurations/efm_reg_dqc.py,sha256=HiT8OcRAOVKLsl95Y91L66FeOsIMMMAQCs-DLMG-Lb0,739
|
|
748
749
|
tests/integration_tests/validation/conformance_suite_configurations/efm_reg_pragmatic.py,sha256=U6dew0sIibjZe4r6na912qyIVAjxljh2HDix-8AwvhM,727
|
|
749
750
|
tests/integration_tests/validation/conformance_suite_configurations/esef_ixbrl_2021.py,sha256=e7GZE8CWPRsD_pSfOJoKa77M_XA6QmqIm2rY3S6P4tM,1102
|
|
@@ -1510,7 +1511,7 @@ tests/resources/conformance_suites_expected/efm_current.csv,sha256=9YoKy-kYo_VAy
|
|
|
1510
1511
|
tests/resources/conformance_suites_expected/efm_reg_dqc.csv,sha256=0CEItNnnEE_s8uGHA8CidxEVyvOiTCv5nAWpc4dCUmE,9968847
|
|
1511
1512
|
tests/resources/conformance_suites_expected/efm_reg_pragmatic.csv,sha256=J_sDOjJGDjFnseMU7QIBttvvOjjnPp_WdmrCkjvCu4Y,196
|
|
1512
1513
|
tests/resources/conformance_suites_timing/dba_current.json,sha256=e5jmGVDcPbaXDbHNK3RQz-_gsozU1dL_J0gcNDzHnjg,1467
|
|
1513
|
-
tests/resources/conformance_suites_timing/efm_current.json,sha256=
|
|
1514
|
+
tests/resources/conformance_suites_timing/efm_current.json,sha256=QyaFax_rnONGbGeGwCx-YUQifDp7Gws5csiDfjQuuFI,1105261
|
|
1514
1515
|
tests/resources/conformance_suites_timing/efm_reg_dqc.json,sha256=4ry0JC8XA-8Bua2E75edknjxcL42Qj6nMZxvjCdW2uc,1708653
|
|
1515
1516
|
tests/resources/conformance_suites_timing/esef_ixbrl_2021.json,sha256=3UBEba0PStPkAHgYZc6_WAH3_pBTGOpDNRQ0X1hxH74,26836
|
|
1516
1517
|
tests/resources/conformance_suites_timing/esef_ixbrl_2022.json,sha256=1ifWHng_AENYMwug6h68pqK72EHk6nMq2ZLf7-U9Fh8,21740
|
|
@@ -1552,9 +1553,9 @@ tests/unit_tests/arelle/oim/test_load.py,sha256=NxiUauQwJVfWAHbbpsMHGSU2d3Br8Pki
|
|
|
1552
1553
|
tests/unit_tests/arelle/plugin/test_plugin_imports.py,sha256=bdhIs9frAnFsdGU113yBk09_jis-z43dwUItMFYuSYM,1064
|
|
1553
1554
|
tests/unit_tests/arelle/plugin/validate/ESEF/ESEF_Current/test_validate_css_url.py,sha256=XHABmejQt7RlZ0udh7v42f2Xb2STGk_fSaIaJ9i2xo0,878
|
|
1554
1555
|
tests/unit_tests/arelle/utils/validate/test_decorator.py,sha256=ZS8FqIY1g-2FCbjF4UYm609dwViax6qBMRJSi0vfuhY,2482
|
|
1555
|
-
arelle_release-2.36.
|
|
1556
|
-
arelle_release-2.36.
|
|
1557
|
-
arelle_release-2.36.
|
|
1558
|
-
arelle_release-2.36.
|
|
1559
|
-
arelle_release-2.36.
|
|
1560
|
-
arelle_release-2.36.
|
|
1556
|
+
arelle_release-2.36.28.dist-info/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
|
|
1557
|
+
arelle_release-2.36.28.dist-info/METADATA,sha256=YwxTo5Ye5NCaTXAXdqZqO1d4XtgcHt782wELCABo0fs,9010
|
|
1558
|
+
arelle_release-2.36.28.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
|
|
1559
|
+
arelle_release-2.36.28.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
|
|
1560
|
+
arelle_release-2.36.28.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
|
|
1561
|
+
arelle_release-2.36.28.dist-info/RECORD,,
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import html.parser
|
|
4
|
+
import os
|
|
5
|
+
import urllib.request
|
|
6
|
+
import zipfile
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
from shutil import rmtree
|
|
9
|
+
|
|
10
|
+
from tests.integration_tests.integration_test_util import get_s3_uri
|
|
11
|
+
from tests.integration_tests.scripts.script_util import (
|
|
12
|
+
assert_result,
|
|
13
|
+
parse_args,
|
|
14
|
+
prepare_logfile,
|
|
15
|
+
run_arelle,
|
|
16
|
+
validate_log_file,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
errors = []
|
|
20
|
+
this_file = Path(__file__)
|
|
21
|
+
args = parse_args(this_file.stem, "Confirm EBA Tablesets report runs successfully from the command line.")
|
|
22
|
+
arelle_command = args.arelle
|
|
23
|
+
arelle_offline = args.offline
|
|
24
|
+
working_directory = Path(args.working_directory)
|
|
25
|
+
test_directory = Path(args.test_directory)
|
|
26
|
+
arelle_log_file = prepare_logfile(test_directory, this_file)
|
|
27
|
+
samples_zip_path = test_directory / "eba_samples.zip"
|
|
28
|
+
samples_directory = test_directory / "eba_samples"
|
|
29
|
+
target_path = samples_directory / "DUMMYLEI123456789012_GB_COREP030000_COREPLECON_2021-06-30_20201218154732000.xbrl"
|
|
30
|
+
tablesets_report_path = test_directory / "index.html"
|
|
31
|
+
sample_report_zip_url = get_s3_uri("ci/packages/eba-samples.zip", version_id="iDJU3nFy6_rQ289k.mosenHjUFrXCmCM")
|
|
32
|
+
|
|
33
|
+
samples_url = get_s3_uri("ci/packages/eba_samples.zip", version_id="O7uYHbSYmxe_20nBhWWoXMfjGpquNMMj")
|
|
34
|
+
|
|
35
|
+
print(f"Downloading EBA sample files: {samples_zip_path}")
|
|
36
|
+
urllib.request.urlretrieve(samples_url, samples_zip_path)
|
|
37
|
+
|
|
38
|
+
print(f"Extracting EBA sample files: {samples_directory}")
|
|
39
|
+
with zipfile.ZipFile(samples_zip_path, "r") as zip_ref:
|
|
40
|
+
zip_ref.extractall(samples_directory)
|
|
41
|
+
|
|
42
|
+
print(f"Generating EBA Tablesets report: {tablesets_report_path}")
|
|
43
|
+
run_arelle(
|
|
44
|
+
arelle_command,
|
|
45
|
+
plugins=["saveHtmlEBAtables"],
|
|
46
|
+
additional_args=[
|
|
47
|
+
"-f",
|
|
48
|
+
str(target_path),
|
|
49
|
+
"--package",
|
|
50
|
+
str(samples_directory / "TP-Eurofiling2.1.zip"),
|
|
51
|
+
"--package",
|
|
52
|
+
str(samples_directory / "EBA_CRD_IV_XBRL_3.0_Dictionary_3.0.1.0.Errata3.zip"),
|
|
53
|
+
"--package",
|
|
54
|
+
str(samples_directory / "EBA_CRD_IV_XBRL_3.0_Reporting_COREP_FINREP_Frameworks_hotfix.Errata3.zip"),
|
|
55
|
+
"--save-EBA-tablesets",
|
|
56
|
+
str(tablesets_report_path),
|
|
57
|
+
],
|
|
58
|
+
offline=arelle_offline,
|
|
59
|
+
logFile=arelle_log_file,
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
print(f"Checking for EBA Tablesets report: {tablesets_report_path}")
|
|
63
|
+
if not tablesets_report_path.exists():
|
|
64
|
+
errors.append(f'EBA Tablesets report not generated at "{tablesets_report_path}"')
|
|
65
|
+
|
|
66
|
+
eba_table_files = [
|
|
67
|
+
"eba_tC_00.01.html",
|
|
68
|
+
"eba_tC_26.00.html",
|
|
69
|
+
"eba_tC_27.00.html",
|
|
70
|
+
"eba_tC_28.00.html",
|
|
71
|
+
"eba_tC_29.00.html",
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
eba_tablesets_report_files = [
|
|
75
|
+
test_directory / f for f in ("index.html", "indexCenterLanding.html", "indexFormsFrame.html", *eba_table_files)
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
for report_file in eba_tablesets_report_files:
|
|
79
|
+
if not report_file.exists():
|
|
80
|
+
errors.append(f'EBA Tablesets report file not generated at "{report_file}"')
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class ButtonParser(html.parser.HTMLParser):
|
|
84
|
+
def __init__(self, table_files):
|
|
85
|
+
super().__init__()
|
|
86
|
+
self.table_files = table_files
|
|
87
|
+
self.found_buttons = {table_file: False for table_file in table_files}
|
|
88
|
+
|
|
89
|
+
def handle_starttag(self, tag, attrs):
|
|
90
|
+
if tag.lower() == "button":
|
|
91
|
+
attrs_dict = dict(attrs)
|
|
92
|
+
onclick = attrs_dict.get("onclick", "")
|
|
93
|
+
if onclick is not None:
|
|
94
|
+
for table_file in self.table_files:
|
|
95
|
+
expected_onclick = f"javascript:parent.loadContent('{table_file}');"
|
|
96
|
+
if expected_onclick in onclick:
|
|
97
|
+
self.found_buttons[table_file] = True
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
forms_frame_path = test_directory / "indexFormsFrame.html"
|
|
101
|
+
print("Checking for proper button elements in indexFormsFrame.html")
|
|
102
|
+
with open(forms_frame_path, encoding="utf-8") as fh:
|
|
103
|
+
html_content = fh.read()
|
|
104
|
+
parser = ButtonParser(eba_table_files)
|
|
105
|
+
parser.feed(html_content)
|
|
106
|
+
for table_file, found in parser.found_buttons.items():
|
|
107
|
+
if not found:
|
|
108
|
+
errors.append(f"Button for table {table_file} not found in indexFormsFrame.html")
|
|
109
|
+
|
|
110
|
+
print(f"Checking for log errors: {arelle_log_file}")
|
|
111
|
+
errors += validate_log_file(arelle_log_file)
|
|
112
|
+
|
|
113
|
+
assert_result(errors)
|
|
114
|
+
|
|
115
|
+
print("Cleaning up")
|
|
116
|
+
rmtree(samples_directory)
|
|
117
|
+
os.unlink(samples_zip_path)
|
|
118
|
+
for report_file in eba_tablesets_report_files:
|
|
119
|
+
os.unlink(report_file)
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
<PackageReference Include="FlaUI.TestUtilities" Version="4.0.0" />
|
|
15
15
|
<PackageReference Include="FlaUI.UIA3.Signed" Version="4.0.0" />
|
|
16
16
|
<PackageReference Include="JUnitTestLogger" Version="1.1.0" />
|
|
17
|
-
<PackageReference Include="JunitXml.TestLogger" Version="6.
|
|
17
|
+
<PackageReference Include="JunitXml.TestLogger" Version="6.1.0" />
|
|
18
18
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
|
|
19
|
-
<PackageReference Include="Microsoft.Windows.Compatibility" Version="9.0.
|
|
19
|
+
<PackageReference Include="Microsoft.Windows.Compatibility" Version="9.0.3" />
|
|
20
20
|
<PackageReference Include="NUnit" Version="4.3.2" />
|
|
21
21
|
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
|
|
22
22
|
<PackageReference Include="NUnit.Analyzers" Version="4.6.0">
|
|
@@ -6,7 +6,7 @@ from tests.integration_tests.validation.conformance_suite_config import (
|
|
|
6
6
|
ConformanceSuiteConfig,
|
|
7
7
|
)
|
|
8
8
|
|
|
9
|
-
CONFORMANCE_SUITE_ZIP_NAME = 'efm-
|
|
9
|
+
CONFORMANCE_SUITE_ZIP_NAME = 'efm-73-250317.zip'
|
|
10
10
|
|
|
11
11
|
config = ConformanceSuiteConfig(
|
|
12
12
|
additional_plugins_by_prefix=[(f'conf/{t}', frozenset({'EDGAR/render'})) for t in [
|
|
@@ -27,12 +27,7 @@ config = ConformanceSuiteConfig(
|
|
|
27
27
|
source=AssetSource.S3_PUBLIC,
|
|
28
28
|
)
|
|
29
29
|
],
|
|
30
|
-
|
|
31
|
-
# Test case failure due to EFM 25.1 running against prior conformance suite.
|
|
32
|
-
# Failures are expected to be resolved with the release of the 25.1 conformance suite.
|
|
33
|
-
"605-instance-syntax/605-20-required-document-elts/605-20-man/605-20-man-testcase.xml:_394gw",
|
|
34
|
-
]),
|
|
35
|
-
cache_version_id='vdnIlAvzCgYXhM_5sm6pPDEZKtswihfA',
|
|
30
|
+
cache_version_id='D6XVsgj8noOk9wzCTX91wqwQFq68d0bi',
|
|
36
31
|
info_url='https://www.sec.gov/structureddata/osdinteractivedatatestsuite',
|
|
37
32
|
name=PurePath(__file__).stem,
|
|
38
33
|
plugins=frozenset({
|