From: <mie...@us...> - 2008-08-23 22:42:51
|
Revision: 3058 http://oorexx.svn.sourceforge.net/oorexx/?rev=3058&view=rev Author: miesfeld Date: 2008-08-23 22:42:58 +0000 (Sat, 23 Aug 2008) Log Message: ----------- ooRexxUnit - Merge commits 3053 - 3057 from 3.2.0 into trunk. Modified Paths: -------------- test/trunk/framework/OOREXXUNIT.CLS test/trunk/ooRexx/utilities/rxqueue/rxQueue.testGroup test/trunk/ooTest.frm Added Paths: ----------- test/trunk/ooRexx/extensions/platform/windows/ole/ExcelQuickTest.testGroup Property Changed: ---------------- test/trunk/ test/trunk/directory.structure.for.tests test/trunk/ooRexx/extensions/platform/windows/ole/OLEVariant.testGroup test/trunk/ooRexx/extensions/platform/windows/ole/Printers.testGroup test/trunk/ooRexx/extensions/platform/windows/ole/RexxProcess.testGroup test/trunk/ooRexx/extensions/platform/windows/ole/SpecialFolders.testGroup Property changes on: test/trunk ___________________________________________________________________ Added: svn:mergeinfo + /test/branches/test.3.2.0:3053-3057 Property changes on: test/trunk/directory.structure.for.tests ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: test/trunk/framework/OOREXXUNIT.CLS =================================================================== --- test/trunk/framework/OOREXXUNIT.CLS 2008-08-23 22:34:08 UTC (rev 3057) +++ test/trunk/framework/OOREXXUNIT.CLS 2008-08-23 22:42:58 UTC (rev 3058) @@ -1088,11 +1088,12 @@ return end - expected = '[\=' self~formatObjectInfo(expected)']' - actual = '[ ' self~formatObjectInfo(actual)']' - self~fail(self~makeFailure(expected, actual, msg, "asserNotEquals")) + expected = self~formatObjectInfo(expected) + actual = self~formatObjectInfo(actual) + self~fail(self~makeFailure(expected '\=' actual, expected ' =' actual, msg, "asserNotEquals")) + ::method assertNull use strict arg actual, msg = "" @@ -1130,9 +1131,10 @@ use strict arg expected, actual, msg = "" if (expected == actual) then do - expected = '[\==' self~formatObjectInfo(expected)']' - actual = '[ ' self~formatObjectInfo(actual)']' - self~fail(self~makeFailure(expected, actual, msg, "assertNotSame")) + expected = self~formatObjectInfo(expected) + actual = self~formatObjectInfo(actual) + + self~fail(self~makeFailure(expected '\==' actual, expected ' ==' actual, msg, "assertNotSame")) end -- Assertion holds. Copied: test/trunk/ooRexx/extensions/platform/windows/ole/ExcelQuickTest.testGroup (from rev 3056, test/branches/test.3.2.0/ooRexx/extensions/platform/windows/ole/ExcelQuickTest.testGroup) =================================================================== --- test/trunk/ooRexx/extensions/platform/windows/ole/ExcelQuickTest.testGroup (rev 0) +++ test/trunk/ooRexx/extensions/platform/windows/ole/ExcelQuickTest.testGroup 2008-08-23 22:42:58 UTC (rev 3058) @@ -0,0 +1,95 @@ +#!/usr/bin/rexx +/* + SVN Revision: $Rev$ + Change Date: $Date$ +*/ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 2007 - 2008 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.oorexx.org/license.html */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*----------------------------------------------------------------------------*/ + parse source . . s + + group = .TestGroup~new(s) + group~add(.ExcelQuickTest) + group~restrictOS("WINDOWS") + + if group~machineOS == "WINDOWS" then do + code = testForOleObject('Excel.Application') + if code <> 0 then + group~markNoTests("This is an OLE / Excel test but the OLEObject can not be created. Code:" code) + end + + if group~isAutomatedTest then return group + + testResult = group~suite~execute~~print + +return testResult +-- End of entry point. + +/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\ + Directives, Classes, or Routines. +\* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ +::requires 'ooTest.frm' +::requires 'FileUtils.cls' + +/* class: ExcelQuickTest - - - - - - - - - - - - - - - - - - - - - - - - - - -*\ + +\* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ +::class "ExcelQuickTest" public subclass ooTestCase + +::method init class + forward class (super) continue + + -- Set the type of test cases this class contains to over-ride the superclass. + --self~ooTestType = .ooTestTypes~OLE_TEST + self~ooTestType = self~OLE_TEST + +::method test_GoodCreation + + xcel = createOleObject("Excel.Application") + -- Be sure to assert xcel is not .nil + self~assertNotNull(xcel) + + self~assertTrue(xcel~version~datatype('N')) + +::method test_GoodOS + + xcel = createOleObject("Excel.Application") + self~assertNotNull(xcel) + + self~assertSame(1, xcel~operatingSystem~caselessPos("Windows")) + self~assertEquals(1, xcel~operatingSystem~caselessPos("Windows")) + +-- End of class: ExcelQuickTest Property changes on: test/trunk/ooRexx/extensions/platform/windows/ole/OLEVariant.testGroup ___________________________________________________________________ Added: svn:keywords + Date Rev Property changes on: test/trunk/ooRexx/extensions/platform/windows/ole/Printers.testGroup ___________________________________________________________________ Added: svn:keywords + Date Rev Property changes on: test/trunk/ooRexx/extensions/platform/windows/ole/RexxProcess.testGroup ___________________________________________________________________ Added: svn:keywords + Date Rev Property changes on: test/trunk/ooRexx/extensions/platform/windows/ole/SpecialFolders.testGroup ___________________________________________________________________ Added: svn:keywords + Date Rev Modified: test/trunk/ooRexx/utilities/rxqueue/rxQueue.testGroup =================================================================== --- test/trunk/ooRexx/utilities/rxqueue/rxQueue.testGroup 2008-08-23 22:34:08 UTC (rev 3057) +++ test/trunk/ooRexx/utilities/rxqueue/rxQueue.testGroup 2008-08-23 22:42:58 UTC (rev 3058) @@ -86,7 +86,77 @@ self~assertTrue(count == 1) self~assertSame(trueCurrentDir, line) -::method test_XXX - self~assertSame('dog', 'dog') +::method test_multi_lines + -- In order to work on different platforms, it is easier to just create our + -- own program so we can control the number of lines of output. + src = .array~new + src[1] = "do i = 1 to 5" + src[2] = " say 'line' i" + src[3] = "end" + src[4] = "return 5" + + prg = createRexxPrgFile(src, "TestRxQueue") + + -- Assert the file was created okay + self~assertNotSame('', prg) + + 'rexx' prg '| rxqueue' + + -- Delete the temp file + j = deleteFile(prg) + + -- Now assert what should be true + count = queued() + self~assertSame(5, count) + + do i = 1 to 5 + parse pull line + expected = 'line' i + self~assertSame(expected, line) + end + +/** test_stderr_to_rxqueue() + * This tests that stderr can be redirected and both stderr and stdout end up + * in the queue. This works on 3.2.0 in Windows and it seems reasonable to + * ensure it keeps working in the future. Note, that it is conceivable that + * this may not work on all platforms that ooRexx works on. + */ +::method test_stderr_to_rxqueue + + -- Note to someone investigating a failure here. Add the code to get this + -- to work on your platform and, probably, turn this into a select statement. + msg = "Please fix this test if OS is not Windows or Linux" + self~assertTrue(.ooRexxUnit.OSName == "WINDOWS" | .ooRexxUnit.OSName == "LINUX", msg) + + -- This redirects stderr correctly on Windows and Linux (bash). We may need + -- to add a test for the proper shell on Linux. + stdErrToStdOut = '2>&1' + + src = .array~new + src[1] = ".stdout~lineout('stdout line 1')" + src[2] = ".stdout~lineout('stdout line 2')" + src[3] = ".stderr~lineout('stderr line 3')" + src[4] = ".stderr~lineout('stderr line 4')" + src[5] = "return 0" + + prg = createRexxPrgFile(src, "TestRxQueue") + self~assertNotSame('', prg) + + 'rexx' prg stdErrToStdOut '| rxqueue' + j = deleteFile(prg) + + -- Now test. + count = queued() + self~assertSame(4, count) + + parse pull line + self~assertSame("stdout line 1", line) + parse pull line + self~assertSame("stdout line 2", line) + parse pull line + self~assertSame("stderr line 3", line) + parse pull line + self~assertSame("stderr line 4", line) + -- End of class: rxQueue.testGroup Modified: test/trunk/ooTest.frm =================================================================== --- test/trunk/ooTest.frm 2008-08-23 22:34:08 UTC (rev 3057) +++ test/trunk/ooTest.frm 2008-08-23 22:42:58 UTC (rev 3058) @@ -237,24 +237,28 @@ ::method UNIT_LONG_TEST; return 2 ::method SAMPLE_TEST class; return 3 ::method SAMPLE_TEST; return 3 - ::method GUI_SAMPLE_TEST class; return 4 - ::method GUI_SAMPLE_TEST; return 4 - ::method DOC_EXAMPLE_TEST class; return 5 - ::method DOC_EXAMPLE_TEST; return 5 + ::method GUI_TEST class; return 4 + ::method GUI_TEST; return 4 + ::method GUI_SAMPLE_TEST class; return 5 + ::method GUI_SAMPLE_TEST; return 5 + ::method OLE_TEST class; return 6 + ::method OLE_TEST; return 6 + ::method DOC_EXAMPLE_TEST class; return 7 + ::method DOC_EXAMPLE_TEST; return 7 -- A test type that makes noise. I frequently need to run the test suite in -- an environment where I need these types of test cases to be skipped. This -- is a convenience for myself (Mark Miesfeld.) - ::method DOC_EXAMPLE_NOISE_TEST class; return 6 - ::method DOC_EXAMPLE_NOISE_TEST; return 6 + ::method DOC_EXAMPLE_NOISE_TEST class; return 8 + ::method DOC_EXAMPLE_NOISE_TEST; return 8 -- A test type for the ooTest framework examples. - ::method FRAMEWORK_EXAMPLE_TEST class; return 7 - ::method FRAMEWORK_EXAMPLE_TEST; return 7 + ::method FRAMEWORK_EXAMPLE_TEST class; return 9 + ::method FRAMEWORK_EXAMPLE_TEST; return 9 - ::method MAX_TEST_TYPE class; return 7 - ::method MAX_TEST_TYPE; return 7 + ::method MAX_TEST_TYPE class; return 10 + ::method MAX_TEST_TYPE; return 10 /** all() * Returns a set of all the test types possible. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |