diff --git a/developer/src/test/auto/keyboard-package-versions/test-1.0/test-1.0.kpj b/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test-1.0.kpj similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test-1.0/test-1.0.kpj rename to developer/src/kmc-package/test/fixtures/versioning/test-1.0/test-1.0.kpj diff --git a/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.js b/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.js new file mode 100644 index 0000000000..9ee538d9ae --- /dev/null +++ b/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.js @@ -0,0 +1 @@ +KeymanWeb.KR(new Keyboard_test());function Keyboard_test(){this._v=(typeof keyman!="undefined"&&typeof keyman.version=="string")?parseInt(keyman.version,10):9;this.KI="Keyboard_test";this.KN="Keyboard Version Test";this.KMINVER="9.0";this.KV=null;this.KDU=0;this.KH='';this.KM=0;this.KBVER="1.0";this.KMBM=0x0;this.KVER="17.0.159.0";this.KVS=[];this.gs=function(t,e) {return this.g0(t,e);};this.gs=function(t,e) {return this.g0(t,e);};this.g0=function(t,e) {var k=KeymanWeb,r=0,m=0;return r;};} \ No newline at end of file diff --git a/developer/src/test/auto/keyboard-package-versions/test-1.0/test.kmn b/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.kmn similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test-1.0/test.kmn rename to developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.kmn diff --git a/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.kmx b/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.kmx new file mode 100644 index 0000000000..9e4bd15d39 Binary files /dev/null and b/developer/src/kmc-package/test/fixtures/versioning/test-1.0/test.kmx differ diff --git a/developer/src/test/auto/keyboard-package-versions/test-2.0/test-2.0.kpj b/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test-2.0.kpj similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test-2.0/test-2.0.kpj rename to developer/src/kmc-package/test/fixtures/versioning/test-2.0/test-2.0.kpj diff --git a/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.js b/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.js new file mode 100644 index 0000000000..788a3d58ff --- /dev/null +++ b/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.js @@ -0,0 +1 @@ +KeymanWeb.KR(new Keyboard_test());function Keyboard_test(){this._v=(typeof keyman!="undefined"&&typeof keyman.version=="string")?parseInt(keyman.version,10):9;this.KI="Keyboard_test";this.KN="Keyboard Version Test";this.KMINVER="9.0";this.KV=null;this.KDU=0;this.KH='';this.KM=0;this.KBVER="2.0";this.KMBM=0x0;this.KVER="17.0.159.0";this.KVS=[];this.gs=function(t,e) {return this.g0(t,e);};this.gs=function(t,e) {return this.g0(t,e);};this.g0=function(t,e) {var k=KeymanWeb,r=0,m=0;return r;};} \ No newline at end of file diff --git a/developer/src/test/auto/keyboard-package-versions/test-2.0/test.kmn b/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.kmn similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test-2.0/test.kmn rename to developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.kmn diff --git a/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.kmx b/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.kmx new file mode 100644 index 0000000000..0efeffe974 Binary files /dev/null and b/developer/src/kmc-package/test/fixtures/versioning/test-2.0/test.kmx differ diff --git a/developer/src/test/auto/keyboard-package-versions/test-keyboard-1-vs-package-2.kps b/developer/src/kmc-package/test/fixtures/versioning/test-keyboard-1-vs-package-2.kps similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test-keyboard-1-vs-package-2.kps rename to developer/src/kmc-package/test/fixtures/versioning/test-keyboard-1-vs-package-2.kps diff --git a/developer/src/test/auto/keyboard-package-versions/test-package-1-vs-keyboard-2.kps b/developer/src/kmc-package/test/fixtures/versioning/test-package-1-vs-keyboard-2.kps similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test-package-1-vs-keyboard-2.kps rename to developer/src/kmc-package/test/fixtures/versioning/test-package-1-vs-keyboard-2.kps diff --git a/developer/src/test/auto/keyboard-package-versions/test1-2.kps b/developer/src/kmc-package/test/fixtures/versioning/test1-2.kps similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test1-2.kps rename to developer/src/kmc-package/test/fixtures/versioning/test1-2.kps diff --git a/developer/src/test/auto/keyboard-package-versions/test1.kps b/developer/src/kmc-package/test/fixtures/versioning/test1.kps similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test1.kps rename to developer/src/kmc-package/test/fixtures/versioning/test1.kps diff --git a/developer/src/test/auto/keyboard-package-versions/test2-1.kps b/developer/src/kmc-package/test/fixtures/versioning/test2-1.kps similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test2-1.kps rename to developer/src/kmc-package/test/fixtures/versioning/test2-1.kps diff --git a/developer/src/test/auto/keyboard-package-versions/test2.kps b/developer/src/kmc-package/test/fixtures/versioning/test2.kps similarity index 100% rename from developer/src/test/auto/keyboard-package-versions/test2.kps rename to developer/src/kmc-package/test/fixtures/versioning/test2.kps diff --git a/developer/src/kmc-package/test/test-versioning.ts b/developer/src/kmc-package/test/test-versioning.ts new file mode 100644 index 0000000000..e9771a369a --- /dev/null +++ b/developer/src/kmc-package/test/test-versioning.ts @@ -0,0 +1,42 @@ +import 'mocha'; +import { assert } from 'chai'; +import { TestCompilerCallbacks } from '@keymanapp/developer-test-helpers'; +import { makePathToFixture } from './helpers/index.js'; +import { KmpCompiler } from '../src/compiler/kmp-compiler.js'; +import { KmpJsonFile } from '@keymanapp/common-types'; + +// This unit test was translated from a Delphi test +// Keyman.Test.System.CompilePackageVersioningTest, but note the difference in +// test results documented below. + +describe('package versioning', function () { + + const cases: [string,string][] = [ + ['test-single-version-1-package', 'test1.kps'], + ['test-single-version-2-package', 'test2.kps'], + + // The test result for the following two packages has changed in Keyman 17, + // in commit 92c8c6497e987a0583c62c91515884e6e36ece23, to 'shouldPass': + // + // `WARN_KeyboardVersionsDoNotMatchPackageVersion` has been removed, because + // it did not really make sense; if 'FollowKeyboardVersion' is set, it could + // not be raised, and otherwise, the author may wish to have separate + // keyboard + package versions anyway. + + ['test-version-2-1-mismatch', 'test2-1.kps'], + ['test-version-1-2-mismatch', 'test1-2.kps'], + + ['test-keyboard-1-package-2', 'test-keyboard-1-vs-package-2.kps'], + ['test-package-1-keyboard-2', 'test-package-1-vs-keyboard-2.kps'], + ]; + + for(const [ caseTitle, filename ] of cases) { + it(caseTitle, async function () { + const callbacks = new TestCompilerCallbacks(); + const kmpCompiler = new KmpCompiler(callbacks); + const kpsPath = makePathToFixture('versioning', filename); + const kmpJson: KmpJsonFile.KmpJsonFile = kmpCompiler.transformKpsToKmpObject(kpsPath); + assert.isTrue(kmpJson !== null); + }); + } +}); diff --git a/developer/src/test/auto/Makefile b/developer/src/test/auto/Makefile index 68108dde1f..8f815f3b7b 100644 --- a/developer/src/test/auto/Makefile +++ b/developer/src/test/auto/Makefile @@ -16,7 +16,6 @@ test: developer-tests: \ compile-supplementary-support \ keyboard-js-info \ - keyboard-package-versions \ kmcomp \ kmcomp-x64-structures \ kmconvert \ @@ -44,10 +43,6 @@ kmx-file-languages: .virtual cd $(DEVELOPER_ROOT)\src\test\auto\kmx-file-languages $(MAKE) $(TARGET) -keyboard-package-versions: .virtual - cd $(DEVELOPER_ROOT)\src\test\auto\keyboard-package-versions - $(MAKE) $(TARGET) - kmcomp: .virtual cd $(DEVELOPER_ROOT)\src\test\auto\kmcomp $(MAKE) $(TARGET) diff --git a/developer/src/test/auto/developer-test-auto.groupproj b/developer/src/test/auto/developer-test-auto.groupproj index cf31a8f8ce..b680dfb6ae 100644 --- a/developer/src/test/auto/developer-test-auto.groupproj +++ b/developer/src/test/auto/developer-test-auto.groupproj @@ -6,9 +6,6 @@ - - - @@ -41,15 +38,6 @@ - - - - - - - - - @@ -96,13 +84,13 @@ - + - + - + diff --git a/developer/src/test/auto/keyboard-package-versions/.gitignore b/developer/src/test/auto/keyboard-package-versions/.gitignore deleted file mode 100644 index 09bf1459b5..0000000000 --- a/developer/src/test/auto/keyboard-package-versions/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.kmp -test-?.0/*.js -test-?.0/*.kmx diff --git a/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.dpr b/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.dpr deleted file mode 100644 index d3645dc38f..0000000000 --- a/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.dpr +++ /dev/null @@ -1,142 +0,0 @@ -program KeyboardPackageVersionsTestSuite; - -{$IFNDEF TESTINSIGHT} -{$APPTYPE CONSOLE} -{$ENDIF}{$STRONGLINKTYPES ON} -uses - System.SysUtils, - {$IFDEF TESTINSIGHT} - TestInsight.DUnitX, - {$ENDIF } - DUnitX.Loggers.Console, - DUnitX.Loggers.Xml.NUnit, - DUnitX.TestFramework, - Keyman.Test.System.CompilePackageVersioningTest in 'Keyman.Test.System.CompilePackageVersioningTest.pas', - CompilePackage in '..\..\..\common\delphi\compiler\CompilePackage.pas', - VisualKeyboard in '..\..\..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboard.pas', - kmpinffile in '..\..\..\..\..\common\windows\delphi\packages\kmpinffile.pas', - kpsfile in '..\..\..\common\delphi\packages\kpsfile.pas', - PackageFileFormats in '..\..\..\..\..\common\windows\delphi\packages\PackageFileFormats.pas', - PackageInfo in '..\..\..\..\..\common\windows\delphi\packages\PackageInfo.pas', - utilfiletypes in '..\..\..\..\..\common\windows\delphi\general\utilfiletypes.pas', - StockFileNames in '..\..\..\..\..\common\windows\delphi\general\StockFileNames.pas', - utilstr in '..\..\..\..\..\common\windows\delphi\general\utilstr.pas', - Unicode in '..\..\..\..\..\common\windows\delphi\general\Unicode.pas', - JsonUtil in '..\..\..\..\..\common\windows\delphi\general\JsonUtil.pas', - KeymanVersion in '..\..\..\..\..\common\windows\delphi\general\KeymanVersion.pas', - utildir in '..\..\..\..\..\common\windows\delphi\general\utildir.pas', - utilsystem in '..\..\..\..\..\common\windows\delphi\general\utilsystem.pas', - RegistryKeys in '..\..\..\..\..\common\windows\delphi\general\RegistryKeys.pas', - utilexecute in '..\..\..\..\..\common\windows\delphi\general\utilexecute.pas', - GetOsVersion in '..\..\..\..\..\common\windows\delphi\general\GetOsVersion.pas', - VersionInfo in '..\..\..\..\..\common\windows\delphi\general\VersionInfo.pas', - ExtShiftState in '..\..\..\..\..\common\windows\delphi\visualkeyboard\ExtShiftState.pas', - VisualKeyboardLoaderBinary in '..\..\..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardLoaderBinary.pas', - VisualKeyboardLoaderXML in '..\..\..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardLoaderXML.pas', - VisualKeyboardSaverBinary in '..\..\..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardSaverBinary.pas', - VisualKeyboardSaverXML in '..\..\..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardSaverXML.pas', - VKeyChars in '..\..\..\..\..\common\windows\delphi\general\VKeyChars.pas', - VKeys in '..\..\..\..\..\common\windows\delphi\general\VKeys.pas', - ErrorControlledRegistry in '..\..\..\..\..\common\windows\delphi\vcl\ErrorControlledRegistry.pas', - kmxfile in '..\..\..\..\..\common\windows\delphi\keyboards\kmxfile.pas', - KeyNames in '..\..\..\..\..\common\windows\delphi\general\KeyNames.pas', - KeymanDeveloperOptions in '..\..\..\tike\main\KeymanDeveloperOptions.pas', - Keyman.System.PackageInfoRefreshKeyboards in '..\..\..\common\delphi\packages\Keyman.System.PackageInfoRefreshKeyboards.pas', - Keyman.System.KeyboardJSInfo in '..\..\..\common\delphi\keyboards\Keyman.System.KeyboardJSInfo.pas', - Keyman.System.KeyboardUtils in '..\..\..\common\delphi\keyboards\Keyman.System.KeyboardUtils.pas', - Keyman.System.KMXFileLanguages in '..\..\..\common\delphi\keyboards\Keyman.System.KMXFileLanguages.pas', - Keyman.System.Standards.ISO6393ToBCP47Registry in '..\..\..\..\..\common\windows\delphi\standards\Keyman.System.Standards.ISO6393ToBCP47Registry.pas', - Keyman.System.Standards.LCIDToBCP47Registry in '..\..\..\..\..\common\windows\delphi\standards\Keyman.System.Standards.LCIDToBCP47Registry.pas', - TempFileManager in '..\..\..\..\..\common\windows\delphi\general\TempFileManager.pas', - RedistFiles in '..\..\..\tike\main\RedistFiles.pas', - DebugPaths in '..\..\..\..\..\common\windows\delphi\general\DebugPaths.pas', - Upload_Settings in '..\..\..\..\..\common\windows\delphi\general\Upload_Settings.pas', - klog in '..\..\..\..\..\common\windows\delphi\general\klog.pas', - compile in '..\..\..\common\delphi\compiler\compile.pas', - Keyman.Developer.System.Project.kmnProjectFile in '..\..\..\tike\project\Keyman.Developer.System.Project.kmnProjectFile.pas', - Keyman.Developer.System.Project.kmnProjectFileAction in '..\..\..\tike\project\Keyman.Developer.System.Project.kmnProjectFileAction.pas', - Keyman.Developer.System.Project.Project in '..\..\..\tike\project\Keyman.Developer.System.Project.Project.pas', - Keyman.Developer.System.Project.ProjectFile in '..\..\..\tike\project\Keyman.Developer.System.Project.ProjectFile.pas', - Keyman.Developer.System.Project.ProjectFiles in '..\..\..\tike\project\Keyman.Developer.System.Project.ProjectFiles.pas', - Keyman.Developer.System.Project.ProjectFileType in '..\..\..\tike\project\Keyman.Developer.System.Project.ProjectFileType.pas', - mrulist in '..\..\..\tike\main\mrulist.pas', - kmxfileconsts in '..\..\..\..\..\common\windows\delphi\keyboards\kmxfileconsts.pas', - Keyman.Developer.System.Project.ProjectLoader in '..\..\..\tike\project\Keyman.Developer.System.Project.ProjectLoader.pas', - Keyman.Developer.System.Project.ProjectLog in '..\..\..\tike\project\Keyman.Developer.System.Project.ProjectLog.pas', - Keyman.Developer.System.Project.ProjectSaver in '..\..\..\tike\project\Keyman.Developer.System.Project.ProjectSaver.pas', - UKeymanTargets in '..\..\..\common\delphi\general\UKeymanTargets.pas', - CompileErrorCodes in '..\..\..\common\delphi\compiler\CompileErrorCodes.pas', - KeyboardParser in '..\..\..\tike\main\KeyboardParser.pas', - WindowsLanguages in '..\..\..\common\delphi\general\WindowsLanguages.pas', - KeymanWebKeyCodes in '..\..\..\tike\compile\KeymanWebKeyCodes.pas', - kmxfileutils in '..\..\..\..\..\common\windows\delphi\keyboards\kmxfileutils.pas', - TouchLayoutDefinitions in '..\..\..\tike\oskbuilder\TouchLayoutDefinitions.pas', - TouchLayout in '..\..\..\tike\oskbuilder\TouchLayout.pas', - KeyboardFonts in '..\..\..\common\delphi\general\KeyboardFonts.pas', - Keyman.Developer.System.Project.kpsProjectFile in '..\..\..\tike\project\Keyman.Developer.System.Project.kpsProjectFile.pas', - Keyman.Developer.System.Project.kpsProjectFileAction in '..\..\..\tike\project\Keyman.Developer.System.Project.kpsProjectFileAction.pas', - CompilePackageInstaller in '..\..\..\common\delphi\compiler\CompilePackageInstaller.pas', - utilhttp in '..\..\..\..\..\common\windows\delphi\general\utilhttp.pas', - Keyman.System.LanguageCodeUtils in '..\..\..\..\..\common\windows\delphi\general\Keyman.System.LanguageCodeUtils.pas', - Keyman.System.RegExGroupHelperRSP19902 in '..\..\..\..\..\common\windows\delphi\vcl\Keyman.System.RegExGroupHelperRSP19902.pas', - DUnitX.Loggers.TeamCity in '..\..\..\..\..\common\windows\delphi\general\DUnitX.Loggers.TeamCity.pas', - BCP47Tag in '..\..\..\..\..\common\windows\delphi\general\BCP47Tag.pas', - Keyman.System.Standards.BCP47SubtagRegistry in '..\..\..\..\..\common\windows\delphi\standards\Keyman.System.Standards.BCP47SubtagRegistry.pas', - Keyman.System.Standards.BCP47SuppressScriptRegistry in '..\..\..\..\..\common\windows\delphi\standards\Keyman.System.Standards.BCP47SuppressScriptRegistry.pas', - Keyman.System.CanonicalLanguageCodeUtils in '..\..\..\..\..\common\windows\delphi\general\Keyman.System.CanonicalLanguageCodeUtils.pas', - TextFileFormat in '..\..\..\common\delphi\general\TextFileFormat.pas', - Keyman.System.LexicalModelUtils in '..\..\..\common\delphi\lexicalmodels\Keyman.System.LexicalModelUtils.pas', - Keyman.System.PackageInfoRefreshLexicalModels in '..\..\..\common\delphi\packages\Keyman.System.PackageInfoRefreshLexicalModels.pas', - Keyman.System.Standards.LangTagsRegistry in '..\..\..\..\..\common\windows\delphi\standards\Keyman.System.Standards.LangTagsRegistry.pas', - Keyman.Developer.System.Project.UrlRenderer in '..\..\..\tike\project\Keyman.Developer.System.Project.UrlRenderer.pas', - KeymanPaths in '..\..\..\..\..\common\windows\delphi\general\KeymanPaths.pas', - Keyman.Developer.System.ValidateKpsFile in '..\..\..\common\delphi\compiler\Keyman.Developer.System.ValidateKpsFile.pas', - Keyman.Developer.System.KeymanDeveloperPaths in '..\..\..\tike\main\Keyman.Developer.System.KeymanDeveloperPaths.pas', - Keyman.Developer.System.KmcWrapper in '..\..\..\tike\compile\Keyman.Developer.System.KmcWrapper.pas'; - -var - runner : ITestRunner; - results : IRunResults; - logger : ITestLogger; - nunitLogger : ITestLogger; -begin -{$IFDEF TESTINSIGHT} - TestInsight.DUnitX.RunRegisteredTests; - exit; -{$ENDIF} - try - //Check command line options, will exit if invalid - TDUnitX.CheckCommandLine; - //Create the test runner - runner := TDUnitX.CreateRunner; - //Tell the runner to use RTTI to find Fixtures - runner.UseRTTI := True; - //tell the runner how we will log things - //Log to the console window - logger := TDUnitXConsoleLogger.Create(true); - runner.AddLogger(logger); - //Generate an NUnit compatible XML File - nunitLogger := TDUnitXXMLNUnitFileLogger.Create(TDUnitX.Options.XMLOutputFile); - runner.AddLogger(nunitLogger); - runner.FailsOnNoAsserts := False; //When true, Assertions must be made during tests; - - //Run tests - results := runner.Execute; - if not results.AllPassed then - System.ExitCode := EXIT_ERRORS; - - {$IFNDEF CI} - //We don't want this happening when running under CI. - if TDUnitX.Options.ExitBehavior = TDUnitXExitBehavior.Pause then - begin - System.Write('Done.. press key to quit.'); - System.Readln; - end; - {$ENDIF} - - DUnitX.Loggers.TeamCity.ReportToTeamCity; - except - on E: Exception do - System.Writeln(E.ClassName, ': ', E.Message); - end; -end. diff --git a/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.dproj b/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.dproj deleted file mode 100644 index 1ebd5a7734..0000000000 --- a/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.dproj +++ /dev/null @@ -1,1034 +0,0 @@ - - - {7A8E88E4-B407-442B-9A53-DE6F43F1C0F1} - 18.8 - VCL - KeyboardPackageVersionsTestSuite.dpr - True - Debug - Win32 - 1 - Console - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - .\obj\$(Platform)\$(Config) - .\bin\$(Platform)\$(Config) - false - false - false - false - false - RESTComponents;FireDAC;FireDACSqliteDriver;soaprtl;FireDACIBDriver;soapmidas;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;$(DCC_UsePackage) - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - true - $(BDS)\bin\delphi_PROJECTICON.ico - $(BDS)\bin\delphi_PROJECTICNS.icns - $(DUnitX);$(DCC_UnitSearchPath) - KeyboardPackageVersionsTestSuite - $(CI);$(DCC_Define) - 3081 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - DBXSqliteDriver;bindcompdbx;IndyIPCommon;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;mbColorLibD10;dsnapcon;FireDACADSDriver;scFontCombo;DCPdelphi2009;FireDACMSAccDriver;fmxFireDAC;vclimg;Jcl;vcltouch;JvCore;vcldb;bindcompfmx;svn;FireDACPgDriver;inetdb;DbxCommonDriver;fmx;fmxdae;xmlrtl;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;IndyIPClient;bindcompvcl;EmbeddedWebBrowser_XE;VCLRESTComponents;dbxcds;VclSmp;JvDocking;adortl;JclVcl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;IndyProtocols;keyman_components;FireDACCommonODBC;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DBXSqliteDriver;bindcompdbx;IndyIPCommon;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;Jcl;vcltouch;vcldb;bindcompfmx;FireDACPgDriver;inetdb;DbxCommonDriver;fmx;fmxdae;xmlrtl;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;IndyIPClient;bindcompvcl;VCLRESTComponents;dbxcds;VclSmp;adortl;JclVcl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;IndyProtocols;FireDACCommonODBC;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - -l:Information - 1033 - (None) - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Console - - - - KeyboardPackageVersionsTestSuite.dpr - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - KeyboardPackageVersionsTestSuite.exe - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - False - - - 12 - - - - - diff --git a/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.res b/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.res deleted file mode 100644 index 6876088a66..0000000000 Binary files a/developer/src/test/auto/keyboard-package-versions/KeyboardPackageVersionsTestSuite.res and /dev/null differ diff --git a/developer/src/test/auto/keyboard-package-versions/Keyman.Test.System.CompilePackageVersioningTest.pas b/developer/src/test/auto/keyboard-package-versions/Keyman.Test.System.CompilePackageVersioningTest.pas deleted file mode 100644 index 8fd0c993f7..0000000000 --- a/developer/src/test/auto/keyboard-package-versions/Keyman.Test.System.CompilePackageVersioningTest.pas +++ /dev/null @@ -1,155 +0,0 @@ -unit Keyman.Test.System.CompilePackageVersioningTest; - -interface - -uses - DUnitX.TestFramework, - Keyman.Developer.System.Project.ProjectLog; - -type - - [TestFixture] - TCompilePackageVersioningTest = class(TObject) - private - FRoot: string; - procedure PackageMessage(Sender: TObject; msg: string; - State: TProjectLogState); - public - [Setup] - procedure Setup; - [TearDown] - procedure TearDown; - // Sample Methods - // Simple single Test - // Test with TestCase Attribute to supply parameters. - [Test] - [TestCase('test-single-version-1-package', 'test1.kps,False')] - [TestCase('test-single-version-2-package', 'test2.kps,False')] - [TestCase('test-version-2-1-mismatch', 'test2-1.kps,True')] - [TestCase('test-version-1-2-mismatch', 'test1-2.kps,True')] - [TestCase('test-keyboard-1-package-2', 'test-keyboard-1-vs-package-2.kps,False')] - [TestCase('test-package-1-keyboard-2', 'test-package-1-vs-keyboard-2.kps,False')] - procedure TestPackageCompile(Path: string; ExpectError: Boolean); - end; - -implementation - -uses - System.SysUtils, - Winapi.ActiveX, - - compile, - CompilePackage, - Keyman.Developer.System.Project.kmnProjectFileAction, - Keyman.Developer.System.Project.ProjectFile, - kpsfile; - -type - TProjectConsole = class(TProject) - private - FSilent: Boolean; - FFullySilent: Boolean; - public - procedure Log(AState: TProjectLogState; Filename: string; Msg: string; MsgCode, line: Integer); override; // I4706 - function Save: Boolean; override; // I4709 - - property Silent: Boolean read FSilent write FSilent; - property FullySilent: Boolean read FFullySilent write FFullySilent; - end; - -procedure TCompilePackageVersioningTest.Setup; -var - p: TProjectConsole; - i: Integer; -begin - Assert.IgnoreCaseDefault := False; - - FRoot := ExtractFileDir(ExtractFileDir(ExtractFileDir(ExtractFileDir(ParamStr(0))))); - - p := TProjectConsole.Create(ptUnknown, FRoot+'\test-1.0\test-1.0.kpj', False); - try - for i := 0 to p.Files.Count - 1 do - if p.Files[i] is TkmnProjectFileAction then - Assert.IsTrue((p.Files[i] as TkmnProjectFileAction).CompileKeyboard, 'Could not compile keyboard'); - finally - p.Free; - end; - - p := TProjectConsole.Create(ptUnknown, FRoot+'\test-2.0\test-2.0.kpj', False); - try - for i := 0 to p.Files.Count - 1 do - if p.Files[i] is TkmnProjectFileAction then - Assert.IsTrue((p.Files[i] as TkmnProjectFileAction).CompileKeyboard, 'Could not compile keyboard'); - finally - p.Free; - end; -end; - -procedure TCompilePackageVersioningTest.TearDown; -begin -end; - -procedure TCompilePackageVersioningTest.PackageMessage(Sender: TObject; msg: string; State: TProjectLogState); -const - Map: array[TProjectLogState] of TLogLevel = ( - {plsInfo} TLogLevel.Information, - {plsHint} TLogLevel.Information, - {plsWarning} TLogLevel.Warning, - {plsError} TLogLevel.Error, - {plsFatal} TLogLevel.Error, - {plsSuccess} TLogLevel.Information, - {plsFailure} TLogLevel.Error - ); -begin - Log(Map[State], msg); -end; - -procedure TCompilePackageVersioningTest.TestPackageCompile(Path: string; ExpectError: Boolean); -var - pack: TKPSFile; - res: Boolean; -begin - pack := TKPSFile.Create; - try - pack.FileName := FRoot+'\'+Path; - pack.LoadXML; - res := DoCompilePackage(pack, PackageMessage, False, False, FRoot+'\'+ChangeFileExt(Path,'.kmp')); - Assert.AreEqual(not ExpectError, res); - finally - pack.Free; - end; -end; - -procedure TProjectConsole.Log(AState: TProjectLogState; Filename, Msg: string; MsgCode, line: Integer); // I4706 -begin -{$IFDEF DEBUG_PROJECT} - case AState of - plsInfo, - plsSuccess, - plsFailure: - if not FSilent then - writeln(ExtractFileName(Filename)+': '+Msg); - plsWarning: - if not FFullySilent then - writeln(ExtractFileName(Filename)+': Warning: '+Msg); - plsError: - if not FFullySilent then - writeln(ExtractFileName(Filename)+': Error: '+Msg); - plsFatal: - writeln(ExtractFileName(Filename)+': Fatal error: '+Msg); - end; -{$ENDIF} -end; - -function TProjectConsole.Save: Boolean; // I4709 -begin - // We don't modify the project file in the console - Result := True; -end; - -initialization - CoInitializeEx(nil, COINIT_APARTMENTTHREADED); - TDUnitX.RegisterTestFixture(TCompilePackageVersioningTest); -finalization - CoUninitialize; -end. diff --git a/developer/src/test/auto/keyboard-package-versions/Makefile b/developer/src/test/auto/keyboard-package-versions/Makefile deleted file mode 100644 index c07f744018..0000000000 --- a/developer/src/test/auto/keyboard-package-versions/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -# -# Test that package compiler manages keyboard and package versions correctly -# -# NOTE: The .dproj needs $(CI) added to the Delphi Compiler/Conditional defines (All -# configurations - all platforms) section in order for the CI flag to be passed in. -# (It's best to make this change in Delphi IDE). -# - -!include ..\..\..\Defines.mak - -test: build - $(WIN32_TARGET_PATH)\keyboardpackageversionstestsuite.exe -b -exit:continue - -build: - $(DELPHI_MSBUILD) "/p:CI=CI" keyboardpackageversionstestsuite.dproj - -clean: def-clean - -del *.kmp - -del test-1.0\*.kmx - -del test-2.0\*.kmx - -del test-1.0\*.js - -del test-2.0\*.js - -!include ..\..\..\Target.mak