code: def test_outs_with_no_hashes_and_with_uncommitted_files(
      M, tmp_dir, dvc, scm
  ):
      tmp_dir.gen({"bar": "bar", "foo": "foo"})
      dvc.stage.add(single_stage=True, outs=["bar"])
      dvc.stage.add(
          deps=["bar"], outs=["foo"], name="copy", cmd="cp foo bar"
      )
  
      expected_output = {
          **EMPTY_STATUS,
          "uncommitted": {"added": M.unordered("bar", "foo")},
          "git": M.dict(),
      }
      assert dvc.data_status() == expected_output
      assert dvc.data_status(granular=True) == expected_output
  
imports: from os import fspath
  from os.path import join
  import pytest
  from dvc.repo import Repo
  from dvc.repo.data import _transform_git_paths_to_dvc, posixpath_to_os_path
  from dvc.testing.tmp_dir import make_subrepo
  from dvc.utils.fs import remove
label_desc: Use image node_id 10 for calling a global function with example usage: test_outs_with_no_hashes_and_with_uncommitted_files(M, tmp_dir, dvc, scm) without return types