def completa_el_nombre_binario_personalizado(self): confirmar( "miapp -c integracion --completar -- ba", programa=Programa(binario="miapp"), dued=False, salida="bar", prueba=_assert_contiene, )
def completa_el_nombre_binario_personalizado_con_alias(self): for used_binary in ("mi", "miapp"): confirmar( "{0} -c integracion --completar -- ba".format(used_binary), programa=Programa(binario="mi[app]"), dued=False, salida="bar", prueba=_assert_contiene, )
def encadenamiento_primero_en_profundidad(self): confirmar( "-c profundo_primero desplegar", salida=""" Limpieza HTML Limpieza de archivos .tar.gz Limpio todo Creando directorios Construyendo Desplegando Preparando para pruebas Pruebas """.lstrip(), )
def solo_acepta_ciertos_shells(self): confirmar( "--script-completado", err="necesitaba valor y no se le dio ninguno", prueba=_assert_contiene, ) confirmar( "--script-completado bla", # NOTE: esto necesita ser actualizado cuando el mundo real cambie, # como por ejemplo nuestras --help salida de prueba. Eso está bien # y es mejor que sólo reimplementar el código bajo prueba aquí. err= 'No se apoya el completado de la shell "bla". (las opciones son: bash, fish, zsh).', # noqa prueba=_assert_contiene, )
def trabaja_con_bash(self): salida, err = confirmar("algunnombredeapp --script-completado bash", dued=False) assert "_completar_aulgunnombredeapp() {" in salida assert "completar -F" in salida for line in salida.splitlines(): if line.startswith("completar -F"): assert line.endswith(" algunnombredeapp")
def nombres_pordefault_binarios_estan_completando_argv_0(self): salida, err = confirmar( "algunnombredeapp --script-completado zsh", programa=Programa(nombres_binarios=None), dued=False, ) assert "_completar_aulgunnombredeapp() {" in salida assert " algunnombredeapp" in salida
def impresiones_para_nombres_personalizados_binarios(self): salida, err = confirmar( "miapp --script-completado zsh", programa=Programa(nombres_binarios=["mia", "miapp"]), dued=False, ) # Combina algunos centinelas de la prueba de vainilla, con # comprobaciones de que realmente está reemplazando 'dued' # con los nombres binarios deseados assert "_completar_mia() {" in salida assert "dued" not in salida assert " mia miapp" in salida
def no_dispara_en_post_artefactos(self): confirmar("-c autoimpresion post-chequeo", salida="")
def las_impresiones_devuelven_el_valor_a_stdout_cuando_esta_prendido_y_en_la_coleccion(self): confirmar("-c autoimpresion sub.yup", salida="¡es la fuerza!\n")
def pordefecto_esta_apagado_y_no_hay_salida(self): confirmar("-c autoimpresion nop", salida="")
def _confirmar(self, args, esperado): confirmar("-c integracion {}".format(args), salida=esperado.lstrip())
def trabaja_con_fish(self): salida, err = confirmar("algunnombredeapp --script-completado fish", dued=False) assert "function __completar_aulgunnombredeapp" in salida assert "completar --comando algunnombredeapp" in salida
def sin_entrada_sin_artefactos_produce_una_respuesta_vacía(self): confirmar("-c vacio --completar", salida="")
def sin_entrada_significa_solo_nombres_de_artefactos(self): confirmar("-c lista_simple_hng --completar", salida="z-altonivel\na.b.subartefacto\n")