Doctrine DBAL
  1. Doctrine DBAL
  2. DBAL-109

Doctrine/DBAL/Platforms/MySqlPlatform.php is missing test coverage around _getCreateTableSQL method

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.1
    • Component/s: Platforms
    • Labels:
      None
    • Environment:
      2.1.0-DEV

      Description

      In "Doctrine/DBAL/Platforms/MySqlPlatform.php", the following methods are public: getShowDatabasesSQL, getCreateDatabaseSQL, getDropDatabaseSQL, getDropTableSQL (easy to test); however, the "_getCreateTableSQL" method is not public.

      Is there a specific reason for this difference?

      As a result of this method not being tested, there is a "quote" method being called which doesn't exist.

      See: https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php#L410

      The only way at this time to test for this case is to get an error when doing: $table->addOption('comment', '...');

      I would suggest making the protected method public so it can be tested. I also suggest moving the options parsing out of _getCreateTableSQL into a helper method...this method seems a bit overloaded.

      If agreed, I'm happy to take care of the cleanup. Just wanted to get some feedback on the ideas first.

        Activity

        Hide
        Benjamin Eberlei added a comment -

        This is an improvement

        Show
        Benjamin Eberlei added a comment - This is an improvement
        Hide
        Steve Müller added a comment -

        Is this issue still an issue? I neither see a "quote" method nor a "$table->addOption()" here...

        Show
        Steve Müller added a comment - Is this issue still an issue? I neither see a "quote" method nor a "$table->addOption()" here...
        Hide
        Steve Müller added a comment -
        Show
        Steve Müller added a comment - Undefined method call fixed in commit: https://github.com/doctrine/dbal/commit/79e04e98895648e2a72075377dac13a3e7c7fd53

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Wil Moore III
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: