| <!DOCTYPE html> |
| <!-- |
| |
| --> |
| <html> |
| <!-- |
| Copyright 2008 The Closure Library Authors. All Rights Reserved. |
| |
| Use of this source code is governed by the Apache License, Version 2.0. |
| See the COPYING file for details. |
| --> |
| <head> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <title>Closure Unit Tests - goog.demos.editor.HelloWorldDialog</title> |
| <script src="../../base.js"></script> |
| <script src="deps.js"></script> |
| <script> |
| goog.require('goog.demos.editor.HelloWorldDialog'); |
| goog.require('goog.demos.editor.HelloWorldDialog.OkEvent'); |
| goog.require('goog.dom.DomHelper'); |
| goog.require('goog.events.EventHandler'); |
| goog.require('goog.testing.LooseMock'); |
| goog.require('goog.testing.events'); |
| goog.require('goog.testing.jsunit'); |
| goog.require('goog.testing.mockmatchers.ArgumentMatcher'); |
| goog.require('goog.ui.editor.AbstractDialog.EventType'); |
| </script> |
| <link rel="stylesheet" href="../css/dialog.css"/> |
| </head> |
| <body> |
| <script> |
| |
| var dialog; |
| var mockOkHandler; |
| |
| var CUSTOM_MESSAGE = 'Hello, cruel world...'; |
| |
| function setUp() { |
| mockOkHandler = new goog.testing.LooseMock(goog.events.EventHandler); |
| } |
| |
| function tearDown() { |
| dialog.dispose(); |
| } |
| |
| /** |
| * Creates and shows the dialog to be tested. |
| */ |
| function createAndShow() { |
| dialog = new goog.demos.editor.HelloWorldDialog(new goog.dom.DomHelper()); |
| dialog.addEventListener(goog.ui.editor.AbstractDialog.EventType.OK, |
| mockOkHandler); |
| dialog.show(); |
| } |
| |
| /** |
| * Sets up the mock event handler to expect an OK event with the given |
| * message. |
| * @param {string} message Hello world message the OK event is expected to |
| * carry. |
| */ |
| function expectOk(message) { |
| mockOkHandler.handleEvent(new goog.testing.mockmatchers.ArgumentMatcher( |
| function(arg) { |
| return arg.type == goog.ui.editor.AbstractDialog.EventType.OK && |
| arg.message == message; |
| })); |
| } |
| |
| /** |
| * Tests that when you show the dialog, the input field has the correct |
| * sample text in it. |
| */ |
| function testShow() { |
| mockOkHandler.$replay(); |
| createAndShow(); |
| |
| assertEquals('Input field has incorrect sample text', |
| 'Hello, world!', |
| dialog.input_.value); |
| mockOkHandler.$verify(); |
| } |
| |
| /** |
| * Tests that clicking OK dispatches an event carying the entered message. |
| */ |
| function testOk() { |
| expectOk(CUSTOM_MESSAGE); |
| mockOkHandler.$replay(); |
| createAndShow(); |
| |
| dialog.input_.value = CUSTOM_MESSAGE; |
| goog.testing.events.fireClickSequence(dialog.getOkButtonElement()); |
| |
| mockOkHandler.$verify(); // Verifies OK is dispatched with correct message. |
| } |
| |
| </script> |
| </body> |
| </html> |