DateTime: (add|subtract)_businessdays Funktionen
Rundungsfehler bei periodischen Rechnungen mit Einzelpreisen ...
... mit einer Nachkommastelle und Rabatt behoben.
siehe auch commit a22b8118e0bd68acac8a2d7b02a2d4f9fd0eaff1
Zudem einen Test dazu angelegt. Allerdings weicht die Art, wie derPriceTaxCalculator und die Beleg-Masken rechnen, von einander ab....
Generische Unterstützung für CTI: Click-to-dial
CSV-Helfer-Test: In-Memory-Streams mit richtigem Encoding initlisieren
Rose-Attr-Helfer: _as_timestamp
…mit verschiedenen Präzisionsstufen und Tests!
Locale::parse_date_to_object: Unterstützung für volle Timestamps & explizite Formate
…und dafür Tests.
Locale::format_date_object: explizites Setzen der Formate; Millisekunden als neues Format
…und dazu Tests.
SL::DB::Helper::LinkedRecords: rekursive Suche in linked_records
LinkedRecords: bidi Verhalten den docs angepasst und direction Parameter optional gemacht
t/structure/globals: Lexikalische Variablen sind schwer exportierbar.
t/test.pl: Neuere Tests kommen sich bei multicore in die Quere. Vorerst ausschalten
t/test.pl: File::Find macht nur dann lstat wenn follow oder follow_fast als option gesetzt ist
LinkedRecords: Test und Doku Update
Merge branch 'pflichtenhefte'
Conflicts: js/locale/de.js
ParseFilter: splitting von :multi über Text::ParseWords
:multi filter für ParseFilter
Test: acts_as_list.t: Anpassung an Währungsumstellung
Diverse Fixes, damit der Testcase mit den aktuellen requirement_specs durchläuft.
- braucht jetzt keine leere Datenbank mehr, erstellt Ficture und löscht sie hinterher wieder.- Update auf item_type- Unmöglicher Check im Header korrigiert- Zahl der Testcases jetzt korrekt hart kodiert
CSV-Import mit Multiplex-Daten: Die Spalte datatype muss nicht an der ersten Position sein.
Custom GetModels Filter: Präfixing von Fallback Filtern in Relationen mit Custom Filtern fehlte.
RDBO-Consistency-Test auf PACKAGE->meta_initialize
Csv-Helper lässt header als einfaches Arrayref bei Nicht-Multiplex-Daten zu.
Test reparieren. datatype ist immer unbekannt.
case_insensitive-Flag für Multiplex-Daten anpassen.
Anpassungen nach merge/rebase
Testanzahl angepasst, Schreibfehler, emacs happy
weitere multiplex-Tests
Bei Boolean-Tests von is ... auf ok ... gewechselt.
nicht immer ein "my" für ein neues Csv-Objekt (copy-paste-Fehler).
SL::Helper::Csv kann mit Multiplex-Daten (mehreren Profilen) umgehen.
SL::Helper::Csv bekommt Klasse im Profil mitgeteilt.
warning
warnings unter 5.12.4
Tests: In Datenbanksetup-Test $::instance_conf initialisieren
Erste Tests zum PriceTaxCalculator
$::instance_conf benötigt kein explizites init mehr
Data::Dumper-Format-Variablen in Tests setzen
with_objects in ParseFilter korrekt weiterreichen
Tests: Test-Case für gültige Methodennamen auf $::instance_conf
Tests: $::auth für Unit-Test-Datenbank anlegen
Test für Konsistenz SL/DB/*.pm <=> SL/DB/MetaSetup/*.pm sowie die Helfer ALL und Mappings
Tests: eigene Datenbank für Unit-Tests hochziehen
Tests: Unterstützung für Konfigurationsparameter "debug.backtrace_on_die"
t/wh/transfer.t: Für leere DB fit gemacht
Artikel, Lager und Lagerplatz werden vorher bereinigt, angelegt undhinterher bereinigt.
Tests: Tests skippen, wenn Template-Cache-Verzeichnis nicht schreibbar ist
globale Variablen in ein Helfermodul ausgelagert
TestSetup auf clients angepasst
Test-Script für Relationship-Klassennamen
Parsefilter Testupdate
Besseres Objektverhalten und bessere Doku für ParseFilter
ausserdem Arraylaundering
ParseFilter auf Objektdispatch erweitert
perl5.18.0 Kompatibilität: t/helper/csv.t
Betrifft um genau zu sein nicht perl5.18.0 sondern PerlIO::scalar 0.16, das ab perl5.18.0 im core ist. Eine der Änderungen ist, dass bei memory-mapped file Zugriffen immer byte Kontext erzwungen wird, und ein Fehler geworfen wird, wenn der String bereits utf8 ist....
parse_filter.t auf perl5.18 angepasst
Request::flatten sortiert jetzt Hashes nach keys.
Die Änderung war notwendig, weil in perl 5.18 die Hashrandomisierung deutlichaggressiver ist. Flatten war vorher schon auf dem Papier nicht deterministisch,das ist aber durch die Randomisierung von perl 5.10 bis 5.16 nie aufgefallen....
Funktionen 'snakify' und 'camelify' nach SL::Util verschoben, gebugfixt, getestet
_hashify: verallgemeinert, getestet, nach SL::Util verschoben (und das dabei erfunden)
Text-Funktion "truncate" nach Common verschoben, dokumentiert, getestet
broken links Test auf templates sund doc einschränken.
Layout auf Presenter umgestellt.
Behebt circular includes von SL::Layout::Base -> SL::Controller::Base -> SL::Request -> SL::Layout::Base
acts_as_list sollte nicht kaputtgehen hier
SL::PrefixedNumber -- Nummernkreisartige Nummer erhöhen ohne Datenbank
AttrDuration: in SL::DB::Object->assign_attributes() auch attr_man_days_string() vor _unit() auswerten
AttrDuration-Helfer
ActsAsList: add_to_list() auch aufrufen können, wenn 'position' noch gesetzt ist
ActsAsList: get_next_in_list() und get_previous_in_list()
TestSetup: $::request muss eine Instanz von SL::Request sein
ActsAsList: mit remove_from_list() entfernte Items auf position = -1 setzen
position ist in allen Tabellen NOT NULL deklariert. Nur in der einen,die ich zum Testen genutzt hatte, nicht. Das habe ich nunnachgeholt. Jetzt wird -1 als magischer "not in list"-Wert benutzt.
ActsAsList: neu: remove_from_list(), add_to_list(), Unit-Tests
Testcase für SL::Controller::Base::render() gefixt
Refactoring: Parameterredesign SL::Controller::Base::render und SL::Presenter::render
Conflicts: SL/Controller/FinancialControllingReport.pm SL/Controller/ProjectType.pm
Fehlerhafter Test
Helper::Csv: Support für leere profile.path Angaben und case_insensitive_header
Doku: Test-Doku aus t/README in die Haupt-Doku überführt & erweitert
Methode zum Auflisten bekannter Hintergrundjobklassen
Aufruf einzelner Test-Scripts via Test::Harness ermöglichen
Syntax ist trivialerweise:
Um alle Tests auszuführen: ./t/test.sh
Um nur bestimmte auszuführen: ./t/test.sh t/unicorns/charlie.t t/chunky/bacon.t
format_amount bug: Bei places == 0 wurden trailing 0 abgeschnitten
Form::format_amount - suabere trennung zwischen String und Numerischen Kontexten
behebt #1982 (unter anderem)
Bug bei der Umrechnung von Einheiten beim Einlagern behoben.
fixt #1983
Bus-Errors bei perl5.10 und perl5.12 verhindern.
t/form/format_amount: boilerplate entfernt, und use once warnung unterdrückt
format_amount testscript wieder gerade gezogen
Die untere Hälfte Tests war in a0cd7d697f36397a32a90565fee3986f95f17e93 kaputtgegangen.
Tests zu SL::Format::format_amount mit Beschreibung versehen
SL::Form::format_amount formatiert Zahlen auch aus der Exponentialschreibweise.
+Tests für SL::Form::format_amountfixt #1904
Alte Selennium-Tests löschen
Parsing von multipart/formdata beschleuningt.
Die entsprechende Routine hatte einen bösen Fall von Shlemiel the Painter'salgorithm [1]. Dadurch wurden Fileuploads mit mehr als 20k Zeilen extremlangsam. Binärdaten wie pdfs oder Bilder hat das nicht gestört, aber bei CSV...
Warnung von Config::Std zur Compilezeit unterdrücken.
Bei Importdaten das UTF8 BOM ignorieren.
behebt Bug 1872
Mehr spellchecks
DATEV Export modular gekapselt.
Spellchecks
Request: flatten und unflatten implentiert und getestet.
Die Tests stammen zur Hälfte aus Hash::Flatten und haben einige Fehler aufgedeckt.Damit kann im nächsten Schritt SL::Controller::Base::url_for tiefeDatenstrukturen serialisieren.
Usermaske im Adminbereich vor logins aus sessions geschützt.
Notwendigerweise zusätzlich User->new und Auth->read_user auf %paramsumgeschrieben.
_bool_yn accessor
Test skippen wenn nötige Pakete nicht installiert sind.
puhs in die Liste der bekannten Typos aufgenommen.
Tests von Dispatcher auf TestSetup umgeschrieben.
Dispatcher kann keine validen Datenbankhandle zur richtigen Zeit bereitstellen,und die Mechanismen gegen kaputte DB Handle vertragen sich nicht mit reinemoffline Testing.
override und fallback falschrum bei den tests berücksichtigt.
Note to self: Das wird langsam ein bisschen groß das Script.Muss irgendwann auchmal aufgewertet werden auf ein richtiges Shellscript.
t/test hat modules/fallback und modules/override nicht benutzt.
Falsche Anzahl Tests
Bei tiefen parse_filters with_objects mit prefix bauen.
Warning in tests unterdrücken.
ParseFilter: Laundering in explizite Ziele