mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
[test-report-system] tests functions instead of returned values
Previous tests for report definition had modified report.scm to return bool #f to signify 'aborted definition'. This had mistakenly invalidated an old-report handling code path whereby guid was missing. This commit will modify old tests to define reports, and verify success/failure according to the (gnc:all-report-template-guids) list length which, indirectly, is a surrogate marker for a successful report definition.
This commit is contained in:
parent
c6b7338fbc
commit
548ee9f56b
@ -12,75 +12,88 @@
|
||||
(test-begin "Testing/Temporary/test-report-system")
|
||||
;; if (test-runner-factory gnc:test-runner) is commented out, this
|
||||
;; will create Testing/Temporary/test-asset-performance.log
|
||||
(test-assert "Minimum Report Definition" (test-check1))
|
||||
(test-assert "Missing GUID detection" (test-check2))
|
||||
(test-assert "Detect double GUID" (test-check3))
|
||||
(test-assert "Report with Full Argument Set" (test-check4))
|
||||
(test-check1)
|
||||
(test-check2)
|
||||
(test-check3)
|
||||
(test-check4)
|
||||
(test-end "Testing/Temporary/test-report-system"))
|
||||
|
||||
;; -----------------------------------------------------------------------
|
||||
|
||||
(define (test-check1)
|
||||
(display "\n*** Minimum Report Definition\n")
|
||||
(gnc:define-report 'version "1"
|
||||
'name "Test Report Template"
|
||||
'report-guid "54c2fc051af64a08ba2334c2e9179e23"))
|
||||
'report-guid "54c2fc051af64a08ba2334c2e9179e23")
|
||||
(test-equal "1 report successfully defined"
|
||||
1
|
||||
(length (gnc:all-report-template-guids))))
|
||||
|
||||
;; -----------------------------------------------------------------------
|
||||
|
||||
(define (test-check2)
|
||||
(not (gnc:define-report 'version "1"
|
||||
'name "Test Report Template")))
|
||||
(display "\n*** Missing GUID detection:\n")
|
||||
(gnc:define-report 'version "1"
|
||||
'name "Test Report Template")
|
||||
(test-equal "2 reports defined, with 1 autogenerated guid"
|
||||
2
|
||||
(length (gnc:all-report-template-guids))))
|
||||
|
||||
;; -----------------------------------------------------------------------
|
||||
|
||||
(define (test-check3)
|
||||
(not (gnc:define-report 'version "1"
|
||||
'name "Test Report Template"
|
||||
'report-guid "54c2fc051af64a08ba2334c2e9179e23"
|
||||
'parent-type "Parent Type"
|
||||
'options-generator "Options Generator"
|
||||
'renderer "Renderer"
|
||||
'options-cleanup-cb "Options Clean-Up"
|
||||
'options-changed-cb "Options Changed"
|
||||
'in-menu? #f
|
||||
'menu-path "Menu Path"
|
||||
'menu-name "Menu Name"
|
||||
'menu-tip "Menu Tip"
|
||||
'export-types "Export Types"
|
||||
'export-thunk "Export Thunk")))
|
||||
(display "\n*** Detect double GUID\n")
|
||||
(gnc:define-report 'version "1"
|
||||
'name "Test Report Template"
|
||||
'report-guid "54c2fc051af64a08ba2334c2e9179e23"
|
||||
'parent-type "Parent Type"
|
||||
'options-generator "Options Generator"
|
||||
'renderer "Renderer"
|
||||
'options-cleanup-cb "Options Clean-Up"
|
||||
'options-changed-cb "Options Changed"
|
||||
'in-menu? #f
|
||||
'menu-path "Menu Path"
|
||||
'menu-name "Menu Name"
|
||||
'menu-tip "Menu Tip"
|
||||
'export-types "Export Types"
|
||||
'export-thunk "Export Thunk")
|
||||
(test-equal "still only 2 reports defined"
|
||||
2
|
||||
(length (gnc:all-report-template-guids))))
|
||||
|
||||
;; -----------------------------------------------------------------------
|
||||
|
||||
(define (test-check4)
|
||||
(display "\n*** Report with Full Argument Set\n")
|
||||
(let ((guid "54c2fc051af64a08ba2334c2e9179e24"))
|
||||
(and
|
||||
(gnc:define-report 'version "1"
|
||||
'name "Test Report Template"
|
||||
'report-guid guid
|
||||
'parent-type "Parent Type"
|
||||
'options-generator "Options Generator"
|
||||
'renderer "Renderer"
|
||||
'options-cleanup-cb "Options Clean-Up"
|
||||
'options-changed-cb "Options Changed"
|
||||
'in-menu? #f
|
||||
'menu-path "Menu Path"
|
||||
'menu-name "Menu Name"
|
||||
'menu-tip "Menu Tip"
|
||||
'export-types "Export Types"
|
||||
'export-thunk "Export Thunk")
|
||||
(let ((tmpl (gnc:find-report-template guid)))
|
||||
(and
|
||||
(string=? (gnc:report-template-version tmpl) "1")
|
||||
(string=? (gnc:report-template-name tmpl) "Test Report Template")
|
||||
(string=? (gnc:report-template-report-guid tmpl) guid)
|
||||
;; parent type is not exported -> it is used in gnc:make-report
|
||||
(string=? (gnc:report-template-options-generator tmpl) "Options Generator")
|
||||
(string=? (gnc:report-template-renderer tmpl) "Renderer")
|
||||
(string=? (gnc:report-template-options-cleanup-cb tmpl) "Options Clean-Up")
|
||||
(string=? (gnc:report-template-options-changed-cb tmpl) "Options Changed")
|
||||
(not (gnc:report-template-in-menu? tmpl))
|
||||
(string=? (gnc:report-template-menu-path tmpl) "Menu Path")
|
||||
(string=? (gnc:report-template-menu-name tmpl) "Menu Name")
|
||||
(string=? (gnc:report-template-menu-tip tmpl) "Menu Tip")
|
||||
(string=? (gnc:report-template-export-types tmpl) "Export Types")
|
||||
(string=? (gnc:report-template-export-thunk tmpl) "Export Thunk"))))))
|
||||
(gnc:define-report 'version "1"
|
||||
'name "Test Report Template"
|
||||
'report-guid guid
|
||||
'parent-type "Parent Type"
|
||||
'options-generator "Options Generator"
|
||||
'renderer "Renderer"
|
||||
'options-cleanup-cb "Options Clean-Up"
|
||||
'options-changed-cb "Options Changed"
|
||||
'in-menu? #f
|
||||
'menu-path "Menu Path"
|
||||
'menu-name "Menu Name"
|
||||
'menu-tip "Menu Tip"
|
||||
'export-types "Export Types"
|
||||
'export-thunk "Export Thunk")
|
||||
(let ((tmpl (gnc:find-report-template guid)))
|
||||
(test-assert "report properties correctly set"
|
||||
(and
|
||||
(string=? (gnc:report-template-version tmpl) "1")
|
||||
(string=? (gnc:report-template-name tmpl) "Test Report Template")
|
||||
(string=? (gnc:report-template-report-guid tmpl) guid)
|
||||
;; parent type is not exported -> it is used in gnc:make-report
|
||||
(string=? (gnc:report-template-options-generator tmpl) "Options Generator")
|
||||
(string=? (gnc:report-template-renderer tmpl) "Renderer")
|
||||
(string=? (gnc:report-template-options-cleanup-cb tmpl) "Options Clean-Up")
|
||||
(string=? (gnc:report-template-options-changed-cb tmpl) "Options Changed")
|
||||
(not (gnc:report-template-in-menu? tmpl))
|
||||
(string=? (gnc:report-template-menu-path tmpl) "Menu Path")
|
||||
(string=? (gnc:report-template-menu-name tmpl) "Menu Name")
|
||||
(string=? (gnc:report-template-menu-tip tmpl) "Menu Tip")
|
||||
(string=? (gnc:report-template-export-types tmpl) "Export Types")
|
||||
(string=? (gnc:report-template-export-thunk tmpl) "Export Thunk"))))))
|
||||
|
Loading…
Reference in New Issue
Block a user