ul-fmf / projekt-tomo

Spletna storitev za poučevanje programiranja
https://www.projekt-tomo.si
GNU Affero General Public License v3.0
14 stars 23 forks source link

Check.difflines ne deluje pravilno #256

Closed Petkomat closed 1 year ago

Petkomat commented 2 years ago

saj bomo zaradi

for out, given in zip(actual_lines, expected_lines):
    out, given = out.rstrip(), given.rstrip()
    if out != given:
        equal = False

ob primerjanju prazne vrstice z vrstico presledkov zmotno mislili, da sta enaki.

Ker se vrstica vedno konča z \n, bi bilo najbrž ustrezneje poradirati samo zadnji znak?

matijapretnar commented 2 years ago

Kaj pa vem. Vrstica se lahko konča tudi z \r\n, poleg tega je na zaslonu težko pokazati, da je kje kakšna razlika. Poleg tega razlika v praznih znakih na koncu izpisa tudi ni tako grozna, da bi jo želel preverjati.

Petkomat commented 2 years ago
with open("a.txt", "w") as f:
    print("abc\n", end="", file=f)

mi na Windowsih naredi vrstico s 5 znaki a b c CR LF, ampak po branju iz datoteke (x = f.readline(), x = f.readlines()[0], for x in f), ima niz x štiri znake (a b c LF) in \r-ja sploh ne vidimo.

Predvsem sem si želel, da bi lahko res preverjal, da so bile vrstice slepo prepisane iz vhoda na izhod. Najbrž je v bolj tipičnih primerih to res nezaželjeno.

matijapretnar commented 1 year ago

Pustimo, kot je.