- hosts: winrm
  gather_facts: no
  serial: 1
  tasks:

  ### raw with unicode arg and output

  - name: raw with unicode arg and output
    raw: echo 汉语
    register: command
  - name: check output of raw with unicode arg and output
    assert:
      that:
      - "'汉语' in command.stdout"
      - command | changed # as of 2.2, raw should default to changed: true for consistency w/ shell/command/script modules

  ### copy local file with unicode filename and content

  - name: create local file with unicode filename and content
    local_action: lineinfile dest=/tmp/ansible-local-汉语/汉语.txt create=true line=汉语
  - name: remove remote file with unicode filename and content
    win_file: path=c:/windows/temp/ansible-remote-汉语/汉语.txt state=absent
  - name: create remote directory with unicode name
    win_file: path=c:/windows/temp/ansible-remote-汉语 state=directory
  - name: copy local file with unicode filename and content
    win_copy: src=/tmp/ansible-local-汉语/汉语.txt dest=c:/windows/temp/ansible-remote-汉语/汉语.txt

  ### fetch remote file with unicode filename and content

  - name: remove local file with unicode filename and content
    local_action: file path=/tmp/ansible-local-汉语/汉语.txt state=absent
  - name: fetch remote file with unicode filename and content
    fetch: src=c:/windows/temp/ansible-remote-汉语/汉语.txt dest=/tmp/ansible-local-汉语/汉语.txt fail_on_missing=true validate_checksum=true flat=true

  ### remove local and remote temp files

  - name: remove local temp file
    local_action: file path=/tmp/ansible-local-汉语 state=absent
  - name: remove remote temp file
    win_file: path=c:/windows/temp/ansible-remote-汉语 state=absent
