helloworld_test.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Copyright 2008 The Closure Library Authors. All Rights Reserved.
  2. // Use of this source code is governed by the Apache License, Version 2.0.
  3. goog.provide('goog.demos.editor.HelloWorldTest');
  4. goog.setTestOnly('goog.demos.editor.HelloWorldTest');
  5. goog.require('goog.dom');
  6. goog.require('goog.testing.jsunit');
  7. goog.require('goog.demos.editor.HelloWorld');
  8. goog.require('goog.testing.editor.TestHelper');
  9. goog.require('goog.testing.editor.FieldMock');
  10. var FIELD = goog.dom.getElement('field');
  11. var plugin;
  12. var fieldMock;
  13. var testHelper = new goog.testing.editor.TestHelper(FIELD);
  14. function setUp() {
  15. testHelper.setUpEditableElement();
  16. FIELD.focus();
  17. plugin = new goog.demos.editor.HelloWorld();
  18. fieldMock = new goog.testing.editor.FieldMock();
  19. plugin.registerFieldObject(fieldMock);
  20. }
  21. function tearDown() {
  22. testHelper.tearDownEditableElement();
  23. }
  24. function testIsSupportedCommand() {
  25. fieldMock.$replay();
  26. assertTrue('+helloWorld should be suported',
  27. plugin.isSupportedCommand('+helloWorld'));
  28. assertFalse('other commands should not be supported',
  29. plugin.isSupportedCommand('blah'));
  30. fieldMock.$verify();
  31. }
  32. function testExecCommandInternal() {
  33. fieldMock.$replay();
  34. var result = plugin.execCommandInternal(
  35. goog.demos.editor.HelloWorld.COMMAND.HELLO_WORLD);
  36. assertUndefined(result);
  37. var spans = FIELD.getElementsByTagName('span');
  38. assertEquals(1, spans.length);
  39. var helloWorldSpan = spans.item(0);
  40. assertEquals('Hello World!', goog.dom.getTextContent(helloWorldSpan));
  41. fieldMock.$verify();
  42. }