From 9fcc16f98b5e645ecbc956103867c1d303db7f66 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Wed, 7 Jun 2023 03:46:12 +0200 Subject: [PATCH] feat: make functional tests work --- .../texfilecolumnswrong.tex.html | 2 +- .../PASScomplicatedTable/texfilelonger.pdf | Bin 3214 -> 3184 bytes .../PASScomplicatedTable/texfilelonger.tex | 3 -- .../texfilelonger.tex.html | 2 +- .../PassparametersTable/texfilelonger.pdf | Bin 0 -> 3184 bytes .../PassparametersTable/texfilelonger.tex | 8 ++++++ .../texfilelonger.tex.html | 1 + program/code/main.py | 27 ++++++++++-------- 8 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 program/code/functional_tests/PassparametersTable/texfilelonger.pdf create mode 100644 program/code/functional_tests/PassparametersTable/texfilelonger.tex create mode 100644 program/code/functional_tests/PassparametersTable/texfilelonger.tex.html diff --git a/program/code/functional_tests/ERRORwrongColumnsNumber/texfilecolumnswrong.tex.html b/program/code/functional_tests/ERRORwrongColumnsNumber/texfilecolumnswrong.tex.html index 33e82118..7ce51b0f 100644 --- a/program/code/functional_tests/ERRORwrongColumnsNumber/texfilecolumnswrong.tex.html +++ b/program/code/functional_tests/ERRORwrongColumnsNumber/texfilecolumnswrong.tex.html @@ -1 +1 @@ -Error! \ No newline at end of file +
1 2 3
\ No newline at end of file diff --git a/program/code/functional_tests/PASScomplicatedTable/texfilelonger.pdf b/program/code/functional_tests/PASScomplicatedTable/texfilelonger.pdf index 0ea7913a20722d8dd850bab45405e24be27bcf16..548a103b1a0c8b232dee44f1f6b2b78def22b2e1 100644 GIT binary patch delta 1199 zcmV;g1W@~q8Sog8HGeTNK0XR_baG{3Z3=kWg^G2t{~OOT2DJa6f8;n~uvnK~lOp`a7DE zCsr;bA?R;USInNwMMvLPUO)E-+;;3hC7a~ZMB9vy+U^%B7P9b`#JN<4+Hwwu<`a!fax<|xp z0skRNqc#J$eFIXdlrr{ZLB=^12qXzFMRveM0&A-1iqO$$;^qH6}Lk03EUqoX@wJXTriEJoHa#g zvFF0^17Ms^JDHOXL^*C&5_Km7f}3CKdsDuDl@B=(;d{pi_VbhIV^imT3=BJ4T`vkD z*txh>%Q%1GP>4=Kk~jeFD&ym%7dTv*Z1HW2eQSoAiyjV5R+&gOEA_+y#RQ&{rsg`| zwnrtyQ4xxoh#sB9TUQE6zOK|k!T#mXR@HX&m*}lJ4AyGTi=))g*-*IC#nOkN$X15F zq1e(Xv=rG~Y{}|QRu_NTTwwayU*0;~EPXjjXRQ|3`Hb(zxot=;@bxuHs!e6~AKNg6 z+Ov-Wng$z-jldp`Mr#ll@KPg2>ol;PCV--YA~A{pTO*T12{V7|Yq8WtV-CqCgw13k z?kb&ZsR_m1VkvfXY{cpiXEg7RS%0je$>a;iZK&35l~4_y2^YIlN#c$H{Hv&FxEy1i z^DV5^p=;E0><6}Hf6G`YzU65hstzO8l;-hFA46o_37oOzgKx{RADrXo6~&FN2JlEb zdIa4zW!r#-mKuMfJ4Wvcm6Ai#PueC_4UXwsUZyXHBRmZlWuYhWX*lfjAGsy+AAl|PT0c&{_|h7N|dZAXsF5*LgZ`IZr*zzyIHZWm6JTPW4Fk><{HZ(9WG&M70IAb_wIASt0F*P}4Wn?xmVUyVl zU@mmwt}Ke7Bnq@SeX^QhfjNVuIh!LVokQGUq5MiA_0p+$OS^LX%k{tl;PC{=lV=Pb N2{ADWB_%~qMhaxfIB@^~ delta 1210 zcmV;r1V#Js7>*f`HGecQK0XR_baG{3Z3=kWm5{$m1VIdkd!HgNa4~--$ppkgP{HnS zJF!vm8n3v@*Eff|x*qO|3?c9vCST@*129k>h7br(>G zH4Kk>Wyt17*pw7ZmQc)u(d-oV^b0^3gW4Q0C941l^v?hM&19}vYBo1FChO)xF-1p~ zuGxw}qnz6+fLZ&~*H1)W@%4?E8C*kX$9@8ETXt0Q<8%JxXiOI7i!!omt)YajHX=+W z#P;k18|!|htVsdnWnuMqq zzWq!hy;vZD-#O_L$;0YRb@1*(1rqb>)zi z>&gjA{x5&>s-r~j*^YuJ-scqvDQ^<4#_5j&1@#_YMpMWjl|t*Ep~KlMYvCL zS`NozIKp@~`^0e@YIIkp)PQHg#qM+!%Mj}bSN70E&$BV^qPoT=r5Z_BA4oa2`@C9SSU@IX6y0Nu5Rt_2G%HGf5Siryt! zwm&xgWL--2=$O40hwOQOgvSx1Ec7Hkj>kiuLRYJ#rP1orBtREE6RqqERG$$)kB2M! zYR^6Ol_iSfcDziB6=r35i~>$M3T+T!?M= z)b^RfmC=m@#Ug2__wIJ<+kY^;_;$0=`=pXM*-+kF=WlbTFEy24nEJduGdwp`Osa04FI;hKv4Wx&i|^ZO!eU%;`0K7ZB1P(85~!o&&? zq%C=WrRBvU$`UR?n>XSN`@hpas)Er363uLW;bRtF=jS2Ff}kVVPs@7Wn^VBVq#%6Ffw6gW-(-T(jq diff --git a/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex b/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex index bd0f8e90..781e89ce 100644 --- a/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex +++ b/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex @@ -1,10 +1,7 @@ \documentclass{article} \begin{document} \begin{tabular}{ l | c | r } - \hline test & 2 & test \\ -\hline 4 & 5 & 6 \\ -\hline \end{tabular} \end{document} \ No newline at end of file diff --git a/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex.html b/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex.html index f3e4ce83..91adcdef 100644 --- a/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex.html +++ b/program/code/functional_tests/PASScomplicatedTable/texfilelonger.tex.html @@ -1 +1 @@ -Error! \ No newline at end of file +
test 2 test
4 5 6
\ No newline at end of file diff --git a/program/code/functional_tests/PassparametersTable/texfilelonger.pdf b/program/code/functional_tests/PassparametersTable/texfilelonger.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a820f09f430dac5382932df71e9f33440c86d7a7 GIT binary patch literal 3184 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 N2#159P<5;Z=wFx;s-*w` literal 0 HcmV?d00001 diff --git a/program/code/functional_tests/PassparametersTable/texfilelonger.tex b/program/code/functional_tests/PassparametersTable/texfilelonger.tex new file mode 100644 index 00000000..82045dde --- /dev/null +++ b/program/code/functional_tests/PassparametersTable/texfilelonger.tex @@ -0,0 +1,8 @@ +\documentclass{article} +\usepackage{array} +\begin{document} +\begin{tabular}{ p{1pt} | m{1pt} | b{1pt} } +test & 2 & test \\ +4 & 5 & 6 \\ +\end{tabular} +\end{document} \ No newline at end of file diff --git a/program/code/functional_tests/PassparametersTable/texfilelonger.tex.html b/program/code/functional_tests/PassparametersTable/texfilelonger.tex.html new file mode 100644 index 00000000..22ef8842 --- /dev/null +++ b/program/code/functional_tests/PassparametersTable/texfilelonger.tex.html @@ -0,0 +1 @@ +
test 2 test
4 5 6
\ No newline at end of file diff --git a/program/code/main.py b/program/code/main.py index 78d3d23b..5f366675 100644 --- a/program/code/main.py +++ b/program/code/main.py @@ -319,6 +319,8 @@ def split_columns(table_row, column_count): """ columns = table_row.split("&") if len(columns) != column_count and columns != [""]: + print( + f"Error! extracted columns length: {columns} and columns_count: {column_count} is different!") return "Error!" return columns @@ -327,7 +329,7 @@ def translate_column(latex_column): """ Translate insides of a single latex tabular column to html """ - hline_string_literal = "\\hline" + hline_string_literal = "hline" replaced_hline = latex_column.replace(hline_string_literal, "
") replaced_newline = replaced_hline.replace("\newline", "
") return replaced_newline @@ -338,12 +340,12 @@ def handle_line_strings(line_string, """ Converts lines untill there are no more lines """ - current_style = column_style[column_number] + current_style = column_style[column_number - 1] if current_style == line_string: while current_style == line_string: return_string += line_string column_number += 1 - current_style = column_style[column_number] + current_style = column_style[column_number - 1] return return_string, column_number @@ -374,12 +376,14 @@ def handle_latex_columns(columns, column_style, """ Goes through every column in a row and translates it to html """ - for column in columns: - return_string, column_number = handle_single_column(column, - column_style, - column_number, - line_string, - return_string) + + if columns != "Error!": + for column in columns: + return_string, column_number = handle_single_column(column, + column_style, + column_number, + line_string, + return_string) return return_string, column_number @@ -494,8 +498,7 @@ def handle_table_whole(html_string, data, table_start, table_end): parameters_start_index = data.find( "{", table_start + len(tabular_begin_string)) - - parameters_end_index = data.find("}", parameters_start_index) + parameters_end_index = data.find(" }", parameters_start_index) parameters_string = data[parameters_start_index: parameters_end_index + 1] parameters_array = tabular_required_parameters(parameters_string) inside_table = data[parameters_end_index + 1: table_end] @@ -537,7 +540,7 @@ def main_function(tex_filename): when reading documentclass or begin document""") return "Error" html_string, data = handle_insides(html_string, data) - + html_string = html_string.replace('}', '') return html_string