code: def test_dataset_name_and_kwargs_from_name_str():
      assert naming._dataset_name_and_kwargs_from_name_str("ds1") == (
          "ds1",
          {},
      )
      assert naming._dataset_name_and_kwargs_from_name_str(
          "ds1:1.2.*"
      ) == (
          "ds1",
          {"version": "1.2.*"},
      )
      assert naming._dataset_name_and_kwargs_from_name_str(
          "ds1/config1"
      ) == (
          "ds1",
          {"config": "config1"},
      )
      assert naming._dataset_name_and_kwargs_from_name_str(
          "ds1/config1:1.*.*"
      ) == (
          "ds1",
          {"config": "config1", "version": "1.*.*"},
      )
      assert naming._dataset_name_and_kwargs_from_name_str(
          "ds1/config1/arg1=val1,arg2=val2"
      ) == (
          "ds1",
          {"config": "config1", "arg1": "val1", "arg2": "val2"},
      )
      assert naming._dataset_name_and_kwargs_from_name_str(
          "ds1/config1:1.2.3/arg1=val1,arg2=val2"
      ) == (
          "ds1",
          {
              "config": "config1",
              "version": "1.2.3",
              "arg1": "val1",
              "arg2": "val2",
          },
      )
      assert naming._dataset_name_and_kwargs_from_name_str(
          "ds1/arg1=val1"
      ) == (
          "ds1",
          {"arg1": "val1"},
      )
  
imports: import os
  from absl.testing import parameterized
  from etils import epath
  import pytest
  from tensorflow_datasets import testing
  from tensorflow_datasets.core import naming
  from tensorflow_datasets.core import splits
label_desc: Use image node_id 1 for calling a global function with example usage: test_dataset_name_and_kwargs_from_name_str() without return types