From a6422963724d7c9aecc829a90b9613e2cf9c8512 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 10:32:18 +0100 Subject: [PATCH 1/5] fix indentation of if statement in TestGenerator --- .../main/java/org/utplsql/sqldev/oddgen/TestGenerator.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java index 422e7e1..ccb0043 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java @@ -239,9 +239,9 @@ public String generateProlog(final Connection conn, final List nodes) { if (generateFiles) { resetConsoleOutput(); saveConsoleOutput(templateTools.mkdirs(outputDirectory)); - if (deleteExistingfiles) { - saveConsoleOutput(deleteFiles(outputDirectory).toString()); - } + if (deleteExistingfiles) { + saveConsoleOutput(deleteFiles(outputDirectory).toString()); + } sb.append("--\n"); sb.append("-- install generated utPLSQL test packages\n"); sb.append("--\n"); From acf381a3baab4fdbd7e7fd9152aa0ba30f0ac2ff Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 10:33:01 +0100 Subject: [PATCH 2/5] enforce lowercase file names in TestGenerator --- .../main/java/org/utplsql/sqldev/oddgen/TestGenerator.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java index ccb0043..f4602ea 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.java @@ -251,8 +251,9 @@ public String generateProlog(final Connection conn, final List nodes) { context.setConn(conn); final TestTemplate testTemplate = new TestTemplate(context); if (generateFiles) { - final String packageName = context.getTestPackagePrefix() + nodeTools.toObjectName(node) - + context.getTestPackageSuffix(); + final String packageName = context.getTestPackagePrefix().toLowerCase() + + nodeTools.toObjectName(node).toLowerCase() + + context.getTestPackageSuffix().toLowerCase(); final String packagePath = outputDirectory + File.separator + packageName; saveConsoleOutput(templateTools.writeToFile(packagePath + ".pks", testTemplate.generateSpec())); saveConsoleOutput(templateTools.writeToFile(packagePath + ".pkb", testTemplate.generateBody())); From 0fcfb61aac2acd2f9665ea3b6924e16c34919b85 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 10:34:29 +0100 Subject: [PATCH 3/5] generate lowercase code in RunGenerator #145 --- .../java/org/utplsql/sqldev/oddgen/RunGenerator.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/RunGenerator.java b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/RunGenerator.java index ecc5526..f88331b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/RunGenerator.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/RunGenerator.java @@ -138,25 +138,25 @@ public String generateProlog(final Connection conn, final List nodes) { final LinkedHashMap params = dedupNodes.get(0).getParams(); final StringBuilder sb = new StringBuilder(); if (YES.equals(params.get(RESET_PACKAGE))) { - sb.append("EXECUTE dbms_session.reset_package;\n"); + sb.append("execute dbms_session.reset_package;\n"); } - sb.append("SET SERVEROUTPUT ON SIZE UNLIMITED\n"); + sb.append("set serveroutput on size unlimited\n"); if (YES.equals(params.get(CLEAR_SCREEN))) { - sb.append("CLEAR SCREEN\n"); + sb.append("clear screen\n"); } if (dedupNodes.size() == 1) { - sb.append("EXECUTE ut.run('"); + sb.append("execute ut.run('"); sb.append(getPath(dedupNodes.get(0), conn)); sb.append("');\n"); } else { final List paths = dedupNodes.stream().map(node -> getPath(node, conn)).collect(Collectors.toList()); - sb.append("BEGIN\n"); + sb.append("begin\n"); sb.append("\tut.run(\n"); sb.append("\t\tut_varchar2_list(\n"); sb.append(StringTools.getCSV(paths, "\t\t\t")); sb.append("\t\t)\n"); sb.append("\t);\n"); - sb.append("END;\n"); + sb.append("end;\n"); sb.append("/\n"); } final String ret = sb.toString(); From d8faf5a7bcc99c0c1fd64a510af22b10275d53c6 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 10:35:43 +0100 Subject: [PATCH 4/5] user AAA pattern and lowercase code in oddgen TestTemplate #145 --- .../utplsql/sqldev/oddgen/TestTemplate.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java index bc44546..daef240 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java @@ -39,13 +39,13 @@ public String generateSpec() { final StringBuilder sb = new StringBuilder(); final String objectName = context.getObjectName().toLowerCase(); final String packageName = context.getTestPackagePrefix() + objectName + context.getTestPackageSuffix(); - sb.append("CREATE OR REPLACE PACKAGE "); + sb.append("create or replace package "); sb.append(packageName); - sb.append(" IS\n\n"); + sb.append(" is\n\n"); if (context.isGenerateComments()) { - sb.append("\t/* generated by utPLSQL for SQL Developer on "); + sb.append("\t-- generated by utPLSQL for SQL Developer on "); sb.append(today); - sb.append(" */\n\n"); + sb.append("\n\n"); } sb.append("\t--%suite("); sb.append(packageName); @@ -68,7 +68,7 @@ public String generateSpec() { if (context.isDisableTests()) { sb.append("\t--%disabled\n"); } - sb.append("\tPROCEDURE "); + sb.append("\tprocedure "); sb.append(context.getTestUnitPrefix()); sb.append(unit); sb.append(context.getTestUnitSuffix()); @@ -82,7 +82,7 @@ public String generateSpec() { sb.append("\t--%endcontext\n\n"); } } - sb.append("END "); + sb.append("end "); sb.append(packageName); sb.append(";\n"); sb.append("/"); @@ -93,15 +93,15 @@ public String generateSpec() { public String generateBody() { StringBuilder sb = new StringBuilder(); final String objectName = context.getObjectName().toLowerCase(); - sb.append("CREATE OR REPLACE PACKAGE BODY "); + sb.append("create or replace package body "); sb.append(context.getTestPackagePrefix()); sb.append(objectName); sb.append(context.getTestPackageSuffix()); - sb.append(" IS\n\n"); + sb.append(" is\n\n"); if (context.isGenerateComments()) { - sb.append("\t/* generated by utPLSQL for SQL Developer on "); + sb.append("\t-- generated by utPLSQL for SQL Developer on "); sb.append(today); - sb.append(" */\n\n"); + sb.append("\n\n"); } for (final String u : units) { final String unit = u.toLowerCase(); @@ -116,33 +116,34 @@ public String generateBody() { sb.append(" case "); sb.append(i); sb.append(": ...\n"); + } else { + sb.append("\n"); } sb.append("\t--\n"); } - sb.append("\tPROCEDURE "); + sb.append("\tprocedure "); sb.append(procedureName); - sb.append(" IS\n"); - sb.append("\t\tl_actual INTEGER := 0;\n"); - sb.append("\t\tl_expected INTEGER := 1;\n"); - sb.append("\tBEGIN\n"); + sb.append(" is\n"); + sb.append("\t\tl_actual integer := 0;\n"); + sb.append("\t\tl_expected integer := 1;\n"); + sb.append("\tbegin\n"); if (context.isGenerateComments()) { - sb.append("\t\t-- populate actual\n"); + sb.append("\t\t-- arrange\n\n"); + sb.append("\t\t-- act\n"); sb.append("\t\t-- "); sb.append(objectName); sb.append("."); sb.append(unit); sb.append(";\n\n"); - sb.append("\t\t-- populate expected\n"); - sb.append("\t\t-- ...\n\n"); sb.append("\t\t-- assert\n"); } sb.append("\t\tut.expect(l_actual).to_equal(l_expected);\n"); - sb.append("\tEND "); + sb.append("\tend "); sb.append(procedureName); sb.append(";\n\n"); } } - sb.append("END "); + sb.append("end "); sb.append(context.getTestPackagePrefix()); sb.append(objectName); sb.append(context.getTestPackageSuffix()); From 362af12ba640556b1081fcb7f0209c44e802f9f9 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 10:36:13 +0100 Subject: [PATCH 5/5] user AAA pattern and lowercase code in SQLDev code templates #145 --- .../sqldev/ui/preference/PreferencePanel.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.java b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.java index d56a117..703766f 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.java @@ -244,11 +244,11 @@ private String trimPlusNewLine(final String input) { private CharSequence utSpecTemplate() { StringBuilder sb = new StringBuilder(); - sb.append("CREATE OR REPLACE PACKAGE "); + sb.append("create or replace package "); sb.append(testPackagePrefixTextField.getText()); sb.append("[package_name]"); sb.append(testPackageSuffixTextField.getText()); - sb.append(" IS\n\n"); + sb.append(" is\n\n"); sb.append("\t--%suite\n"); if (!suitePathTextField.getText().isEmpty()) { sb.append("\t--%suitepath("); @@ -258,7 +258,7 @@ private CharSequence utSpecTemplate() { sb.append("\n\t"); sb.append(utSpecProcTemplate().toString().trim().replace("\n", "\n\t")); sb.append("\n\n"); - sb.append("END "); + sb.append("end "); sb.append(testPackagePrefixTextField.getText()); sb.append("[package_name]"); sb.append(testPackageSuffixTextField.getText()); @@ -279,7 +279,7 @@ private CharSequence utSpecProcTemplate() { if (disableTestsCheckBox.isSelected()) { sb.append("--%disabled\n"); } - sb.append("PROCEDURE "); + sb.append("procedure "); sb.append(testUnitPrefixTextField.getText()); sb.append("[procedure_name]"); sb.append(testUnitSuffixTextField.getText()); @@ -296,14 +296,14 @@ private CharSequence utSpecProcTemplate() { private CharSequence utBodyTemplate() { StringBuilder sb = new StringBuilder(); - sb.append("CREATE OR REPLACE PACKAGE BODY "); + sb.append("create or replace package body "); sb.append(testPackagePrefixTextField.getText()); sb.append("[package_name]"); sb.append(testPackageSuffixTextField.getText()); - sb.append(" IS\n\n\t"); + sb.append(" is\n\n\t"); sb.append(utBodyProcTemplate().toString().trim().replace("\n", "\n\t")); sb.append("\n\n"); - sb.append("END "); + sb.append("end "); sb.append(testPackagePrefixTextField.getText()); sb.append("[package_name]"); sb.append(testPackageSuffixTextField.getText()); @@ -328,26 +328,24 @@ private CharSequence utBodyProcTemplate() { sb.append('\n'); sb.append("--\n"); } - sb.append("PROCEDURE "); + sb.append("procedure "); sb.append(testUnitPrefixTextField.getText()); sb.append("[procedure_name]"); sb.append(testUnitSuffixTextField.getText()); if (withContext) { sb.append(i); } - sb.append(" IS\n"); - sb.append("\tl_actual INTEGER := 0;\n"); - sb.append("\tl_expected INTEGER := 1;\n"); - sb.append("BEGIN\n"); + sb.append(" is\n"); + sb.append("\tl_actual integer := 0;\n"); + sb.append("\tl_expected integer := 1;\n"); + sb.append("begin\n"); if (generateCommentsCheckBox.isSelected()) { - sb.append("\t-- populate actual\n"); - sb.append("\t-- ...\n\n"); - sb.append("\t-- populate expected\n"); - sb.append("\t-- ...\n\n"); + sb.append("\t-- arrange\n\n"); + sb.append("\t-- act\n\n"); sb.append("\t-- assert\n"); } sb.append("\tut.expect(l_actual).to_equal(l_expected);\n"); - sb.append("END "); + sb.append("end "); sb.append(testUnitPrefixTextField.getText()); sb.append("[procedure_name]"); sb.append(testUnitSuffixTextField.getText());