Nome da diretriz angular: somente letras minúsculas permitidas?

Meu código:

app.directive('abcabc', function (){ alert('directive');}); // working 

mas

 app.directive('abcAbc', function (){ alert('directive');}); // not working ! app.directive('abc-abc', function (){ alert('directive');}); // not working ! 

Estou fazendo errado? Ou existem regras especiais de nomenclatura para a diretiva Angular?

AngularJS tenta fazer todos felizes!

Algumas pessoas preferem usar atributos de dados, como data-abc-abc , e eu acredito em manter os validadores satisfeitos. Outras pessoas preferem usar namespaces como abc:abc , e outros preferem usar o nome real da diretiva abcAbc . Ou até mesmo todas as tampas ABC_ABC . Ou atributos de extensão como x-abc-abc .

O AngularJS normaliza o nome usado no HTML para tentar cobrir todos esses casos. data- e x- são removidos, o restante é transmitido com:, - e _ como limites de palavras. Isso torna o abcAbc dos casos mencionados acima, que é usado para procurar a diretiva declarada em JavaScript.

Isso tudo é chamado de normalização de atributos (US: normalização de atributos) e pode ser encontrado na documentação e no código fonte do AngularJS .

Você deve usar nomes separados por traço dentro do html e camelCase para o nome correspondente na diretiva.

Como você pode ler no documento: Angular usa nome-com-traços para nomes de atributos e camelCase para o nome da diretiva correspondente)

Aqui: http://docs.angularjs.org/tutorial/step_00

Bem, o nome da diretiva tem que ser todo em minúsculas, pelo menos no AngularJS versão 1.4.9, caso contrário eu recebo um erro de $ inject não pode ser encontrado