UNPKG

angular-material-npfixed

Version:

The Angular Material project is an implementation of Material Design in Angular.js. This project provides a set of reusable, well-tested, and accessible Material Design UI components. Angular Material is supported internally at Google by the Angular.js, M

102 lines (70 loc) 2.88 kB
describe('$$mdMeta', function() { var $$mdMeta; beforeEach(module('material.core')); beforeEach(function() { inject(function(_$$mdMeta_) { $$mdMeta = _$$mdMeta_; }); }); describe('set meta', function () { beforeEach(function () { angular.element(document.getElementsByTagName('meta')).remove(); }); it('should create the element and append it to the body', function() { var name = 'test'; var content = 'value'; expect(document.getElementsByName(name).length).toEqual(0); $$mdMeta.setMeta(name, content); expect(angular.element(document.getElementsByName(name)[0]).attr('content')).toBe(content); }); it('should update the existing meta tag', function() { var name = 'test'; var content = 'value'; $$mdMeta.setMeta(name, content); expect(angular.element(document.getElementsByName(name)[0]).attr('content')).toBe(content); $$mdMeta.setMeta(name, content + '2'); expect(angular.element(document.getElementsByName(name)[0]).attr('content')).toBe(content + '2'); }); it('should map existing meta tag', function() { var name = 'test'; var content = 'value'; var element = angular.element('<meta name="' + name + '" content="' + content + '"/>'); angular.element(document.head).append(element); expect(angular.element(document.getElementsByName(name)[0]).attr('content')).toBe(content); $$mdMeta.setMeta(name, content + '2'); expect(angular.element(document.getElementsByName(name)[0]).attr('content')).toBe(content + '2'); }); it('should return a remove function', function() { var name = 'test'; var content = 'value'; var remove = $$mdMeta.setMeta(name, content); expect(document.getElementsByName(name).length).toBe(1); remove(); expect(document.getElementsByName(name).length).toBe(0); }); }); describe('get meta', function () { beforeEach(function () { angular.element(document.getElementsByTagName('meta')).remove(); }); it('should return the meta content', function() { var name = 'test'; var content = 'value'; $$mdMeta.setMeta(name, content); expect($$mdMeta.getMeta(name)).toBe(content); }); it('should reject unavailable meta tags', function() { var name = 'test'; expect(function () { $$mdMeta.getMeta(name); }).toThrowError('$$mdMeta: could not find a meta tag with the name \'' + name + '\''); }); it('should add not mapped meta tag to the hashmap', function() { var name = 'test'; var content = 'value'; var element = angular.element('<meta name="' + name + '" content="' + content + '"/>'); angular.element(document.head).append(element); expect($$mdMeta.getMeta(name)).toBe(content); }); }); });