old_contents: from _utils import _output_eq, IntegrationSpec
  
  
  class ShellCompletion(IntegrationSpec):
      """
      Shell tab-completion related flags
      """
  
      class tasks:
          "--tasks"
  
          def tasks_flag_prints_all_tasks(self):
              _output_eq('-c simple_ns_list --tasks', "z_toplevel\na.b.subtask\n")
  
          def empty_tasks_have_empty_output(self):
              _output_eq('-c empty --tasks', "")
  
new_contents: from _utils import _output_eq, IntegrationSpec
  
  
  class ShellCompletion(IntegrationSpec):
      """
      Shell tab-completion behavior
      """
  
      def no_input_means_just_task_names(self):
          _output_eq('-c simple_ns_list --complete', "z_toplevel\na.b.subtask\n")
  
      def no_input_with_no_tasks_yields_empty_response(self):
          _output_eq('-c empty --complete', "")
  
      def top_level_with_dash_means_core_options(self):
          _output_eq('--complete -- -', "--lol\n--wut")
  
subject: Switch up basic tests