tests/nitunit: test that private methods are nitunited
authorJean Privat <jean@pryen.org>
Fri, 4 May 2018 00:39:32 +0000 (20:39 -0400)
committerJean Privat <jean@pryen.org>
Fri, 4 May 2018 00:39:32 +0000 (20:39 -0400)
The code date from #360

close #1603

Signed-off-by: Jean Privat <jean@pryen.org>

tests/sav/nitunit_args1.res
tests/test_nitunit.nit

index dcddc6a..3daede1 100644 (file)
@@ -1,4 +1,4 @@
-==== Docunits of module test_nitunit::test_nitunit | tests: 4
+==== Docunits of module test_nitunit::test_nitunit | tests: 5
 [OK] test_nitunit::test_nitunit
 [KO] test_nitunit$X
      test_nitunit.nit:21,7--22,0: Runtime error in nitunit.out/test_nitunit-2.nit
@@ -12,6 +12,7 @@
 
 [KO] test_nitunit$X$foo1
      test_nitunit.nit:28,15: Syntax Error: unexpected operator '!'.
+[OK] test_nitunit$X$foo2
 
 ==== Test-suite of module test_test_nitunit::test_test_nitunit | tests: 3
 [OK] test_test_nitunit$TestX$test_foo
@@ -22,9 +23,9 @@
 
 [OK] test_test_nitunit$TestX$test_foo2
 
-Docunits: Entities: 34; Documented ones: 6; With nitunits: 4; Failures: 3
+Docunits: Entities: 34; Documented ones: 7; With nitunits: 5; Failures: 3
 Test suites: Classes: 1; Test Cases: 3; Failures: 1
-[FAILURE] 4/7 tests failed.
+[FAILURE] 4/8 tests failed.
 `nitunit.out` is not removed for investigation.
 <testsuites><testsuite package="test_nitunit::test_nitunit"><testcase classname="nitunit.test_nitunit::test_nitunit.&lt;module&gt;" name="&lt;module&gt;" time="0.0"><system-err></system-err><system-out>assert true
 </system-out></testcase><testcase classname="nitunit.test_nitunit.X" name="&lt;class&gt;" time="0.0"><error message="Runtime error in nitunit.out&#47;test_nitunit-2.nit">Runtime error: Assert failed (nitunit.out&#47;test_nitunit-2.nit:5)
@@ -32,5 +33,7 @@ Test suites: Classes: 1; Test Cases: 3; Failures: 1
 </system-out></testcase><testcase classname="nitunit.test_nitunit.X" name="foo" time="0.0"><failure message="Compilation error in nitunit.out&#47;test_nitunit-3.nit">nitunit.out&#47;test_nitunit-3.nit:5,8--27: Error: method or variable `undefined_identifier` unknown in `Sys`.
 </failure><system-out>assert undefined_identifier
 </system-out></testcase><testcase classname="nitunit.test_nitunit.X" name="foo1" time="0.0"><failure message="Syntax Error: unexpected operator &#39;!&#39;."></failure><system-out>assert !@#$%^&amp;*()
+</system-out></testcase><testcase classname="nitunit.test_nitunit.X" name="foo2" time="0.0"><system-err></system-err><system-out>var x = new X
+assert x.foo2
 </system-out></testcase></testsuite><testsuite package="test_test_nitunit::test_test_nitunit"></testsuite><testsuite package="test_test_nitunit"><testcase classname="nitunit.test_test_nitunit.TestX" name="test_foo" time="0.0"><system-err></system-err></testcase><testcase classname="nitunit.test_test_nitunit.TestX" name="test_foo1" time="0.0"><error message="Runtime Error in file nitunit.out&#47;gen_test_test_nitunit.nit">Runtime error: Assert failed (test_test_nitunit.nit:38)
 </error></testcase><testcase classname="nitunit.test_test_nitunit.TestX" name="test_foo2" time="0.0"><system-err></system-err></testcase></testsuite></testsuites>
\ No newline at end of file
index d260cd1..e3b3301 100644 (file)
@@ -28,6 +28,10 @@ class X
        #     assert !@#$%^&*()
        fun foo1(a, b: Int) do end
 
+       # a private method (visible by nitunit)
+       #
+       #     var x = new X
+       #     assert x.foo2
        private fun foo2: Bool do return true
 
        var foo3: Y[X] = new Y[X]