# -*- coding: utf-8 -*-
# Copyright (c) Alexei Znamensky (russoz@gmail.com)
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later

---
- id: test_set_handler
  input:
    handler: google-chrome.desktop
    mime_type: x-scheme-handler/http
  output:
    handler: google-chrome.desktop
    changed: true
  run_command_calls:
    - command: [/testbin/gio, mime, x-scheme-handler/http]
      environ: &env-def {environ_update: {LANGUAGE: C, LC_ALL: C}, check_rc: true}
      rc: 0
      out: ""
      err: >
        No default applications for “x-scheme-handler/http”
    - command: [/testbin/gio, mime, x-scheme-handler/http, google-chrome.desktop]
      environ: *env-def
      rc: 0
      out: "Set google-chrome.desktop as the default for x-scheme-handler/http\n"
      err: ""
- id: test_set_handler_check
  input:
    handler: google-chrome.desktop
    mime_type: x-scheme-handler/http
  output:
    handler: google-chrome.desktop
    changed: true
  flags:
    skip: test helper does not support check mode yet
  run_command_calls:
    - command: [/testbin/gio, mime, x-scheme-handler/http]
      environ: *env-def
      rc: 0
      out: ""
      err: >
        No default applications for “x-scheme-handler/http”
    - command: [/testbin/gio, mime, x-scheme-handler/http, google-chrome.desktop]
      environ: *env-def
      rc: 0
      out: "Set google-chrome.desktop as the default for x-scheme-handler/http\n"
      err: ""
- id: test_set_handler_idempot
  input:
    handler: google-chrome.desktop
    mime_type: x-scheme-handler/http
  output:
    handler: google-chrome.desktop
    changed: false
  run_command_calls:
    - command: [/testbin/gio, mime, x-scheme-handler/http]
      environ: *env-def
      rc: 0
      out: |
        Default application for “x-scheme-handler/https”: google-chrome.desktop
        Registered applications:
          brave-browser.desktop
          firefox.desktop
          google-chrome.desktop
          firefox_firefox.desktop
        Recommended applications:
          brave-browser.desktop
          firefox.desktop
          google-chrome.desktop
          firefox_firefox.desktop
      err: ""
