ROOTPLOIT
Server: LiteSpeed
System: Linux in-mum-web1878.main-hosting.eu 5.14.0-570.21.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 11 07:22:35 EDT 2025 x86_64
User: u435929562 (435929562)
PHP: 7.4.33
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/.wp-cli/packages/vendor/wp-cli/extension-command/features/theme-install.feature
Feature: Install WordPress themes

  Background:
    Given a WP install
    And I run `wp theme delete --all --force`

  Scenario: Return code is 1 when one or more theme installations fail
    When I try `wp theme install twentytwelve twentytwelve-not-a-theme`
    Then STDERR should contain:
      """
      Warning:
      """
    And STDERR should contain:
      """
      twentytwelve-not-a-theme
      """
    And STDERR should contain:
      """
      Error: Only installed 1 of 2 themes.
      """
    And STDOUT should contain:
      """
      Installing Twenty Twelve
      """
    And STDOUT should contain:
      """
      Theme installed successfully.
      """
    And the return code should be 1

    When I try `wp theme install twentytwelve`
    Then STDOUT should be:
      """
      Success: Theme already installed.
      """
    And STDERR should be:
      """
      Warning: twentytwelve: Theme already installed.
      """
    And the return code should be 0

    When I try `wp theme install twentytwelve-not-a-theme`
    Then STDERR should contain:
      """
      Warning:
      """
    And STDERR should contain:
      """
      twentytwelve-not-a-theme
      """
    And STDERR should contain:
      """
      Error: No themes installed.
      """
    And STDOUT should be empty
    And the return code should be 1

  Scenario: Ensure automatic parent theme installation uses http cacher
    Given a WP install
    And an empty cache

    When I run `wp theme install moina`
    Then STDOUT should contain:
      """
      Success: Installed 1 of 1 themes.
      """
    And STDOUT should not contain:
      """
      Using cached file
      """

    When I run `wp theme uninstall moina`
    Then STDOUT should contain:
      """
      Success: Deleted 1 of 1 themes.
      """

    When I run `wp theme install moina-blog`
    Then STDOUT should contain:
      """
      Success: Installed 1 of 1 themes.
      """
    And STDOUT should contain:
      """
      This theme requires a parent theme.
      """
    And STDOUT should contain:
      """
      Using cached file
      """

  Scenario: Verify installed theme activation
    When I run `wp theme install twentytwelve`
    Then STDOUT should not be empty

    When I try `wp theme install twentytwelve --activate`
    Then STDERR should contain:
      """
      Warning: twentytwelve: Theme already installed.
      """

    And STDOUT should contain:
      """
      Activating 'twentytwelve'...
      Success: Switched to 'Twenty Twelve' theme.
      Success: Theme already installed.
      """

  Scenario: Installation of multiple themes with activate
    When I try `wp theme install twentytwelve twentyeleven --activate`
    Then STDERR should contain:
      """
      Warning: Only this single theme will be activated: twentyeleven
      """

    When I run `wp theme list --field=name`
    Then STDOUT should contain:
      """
      twentyeleven
      twentytwelve
      """

    When I run `wp theme list --field=name --status=active`
    Then STDOUT should contain:
      """
      twentyeleven
      """

  @require-php-7
  Scenario: Can't install theme that requires a newer version of WordPress
    Given a WP install

    When I run `wp core download --version=6.4 --force`
    And I run `rm -r wp-content/themes/*`

    And I try `wp theme install twentytwentyfive`
    Then STDERR should contain:
      """
      Warning: twentytwentyfive: This theme does not work with your version of WordPress.
      """

    And STDERR should contain:
      """
      Error: No themes installed.
      """

  @less-than-php-7.4 @require-wp-5.6
  Scenario: Can't install theme that requires a newer version of PHP
    Given a WP install

    And I try `wp theme install oceanwp`
    Then STDERR should contain:
      """
      Warning: oceanwp: This theme does not work with your version of PHP.
      """

    And STDERR should contain:
      """
      Error: No themes installed.
      """