Adding mapbox-gl branch
This commit is contained in:
@@ -0,0 +1,218 @@
|
||||
// Copyright 2014 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
goog.provide('goog.ui.CharCounterTest');
|
||||
goog.setTestOnly('goog.ui.CharCounterTest');
|
||||
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.testing.asserts');
|
||||
goog.require('goog.testing.jsunit');
|
||||
goog.require('goog.ui.CharCounter');
|
||||
goog.require('goog.userAgent');
|
||||
|
||||
var countElement, charCounter, inputElement;
|
||||
var incremental = goog.ui.CharCounter.Display.INCREMENTAL;
|
||||
var remaining = goog.ui.CharCounter.Display.REMAINING;
|
||||
var maxLength = 25;
|
||||
|
||||
function setUp() {
|
||||
inputElement = goog.dom.getElement('test-textarea-id');
|
||||
inputElement.value = '';
|
||||
countElement = goog.dom.getElementByClass('char-count');
|
||||
goog.dom.setTextContent(countElement, '');
|
||||
charCounter =
|
||||
new goog.ui.CharCounter(inputElement, countElement, maxLength);
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
charCounter.dispose();
|
||||
}
|
||||
|
||||
function setupCheckLength(content, mode) {
|
||||
inputElement.value = content;
|
||||
charCounter.setDisplayMode(mode);
|
||||
charCounter.checkLength();
|
||||
}
|
||||
|
||||
function testConstructor() {
|
||||
assertNotNull('Character counter can not be null', charCounter);
|
||||
assertEquals(maxLength.toString(), goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
function testSetMaxLength() {
|
||||
charCounter.setMaxLength(10);
|
||||
assertEquals('10', goog.dom.getTextContent(countElement));
|
||||
|
||||
var tooLongContent = 'This is too long text content';
|
||||
inputElement.value = tooLongContent;
|
||||
charCounter.setMaxLength(10);
|
||||
assertEquals('0', goog.dom.getTextContent(countElement));
|
||||
assertEquals('This is to', inputElement.value);
|
||||
}
|
||||
|
||||
function testGetMaxLength() {
|
||||
assertEquals(maxLength, charCounter.getMaxLength());
|
||||
}
|
||||
|
||||
function testSetDisplayMode() {
|
||||
// Test counter to be in incremental mode
|
||||
charCounter.setDisplayMode(incremental);
|
||||
assertEquals('0', goog.dom.getTextContent(countElement));
|
||||
|
||||
// Test counter to be in remaining mode
|
||||
charCounter.setDisplayMode(remaining);
|
||||
assertEquals(maxLength.toString(), goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
function testGetDisplayMode() {
|
||||
assertEquals(remaining, charCounter.getDisplayMode());
|
||||
|
||||
var incrementalCharCounter = new goog.ui.CharCounter(
|
||||
inputElement, countElement, maxLength, incremental);
|
||||
assertEquals(incremental, incrementalCharCounter.getDisplayMode());
|
||||
}
|
||||
|
||||
function testCheckLength() {
|
||||
// Test the characters remaining in DOM
|
||||
setupCheckLength('', remaining);
|
||||
assertEquals(maxLength.toString(), goog.dom.getTextContent(countElement));
|
||||
|
||||
// Test the characters incremental in DOM
|
||||
setupCheckLength('', incremental);
|
||||
assertEquals('0', goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
function testCheckLength_limitedContent() {
|
||||
var limitedContent = 'Limited text content';
|
||||
var limitedContentLength = limitedContent.length;
|
||||
var remainingLimitedContentLength = maxLength - limitedContentLength;
|
||||
|
||||
// Set some content and test the characters remaining in DOM
|
||||
setupCheckLength(limitedContent, remaining);
|
||||
|
||||
assertEquals(limitedContent, inputElement.value);
|
||||
assertEquals(remainingLimitedContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
|
||||
// Test the characters incremented in DOM with limited content
|
||||
charCounter.setDisplayMode(incremental);
|
||||
charCounter.checkLength();
|
||||
|
||||
assertEquals(limitedContent, inputElement.value);
|
||||
assertEquals(limitedContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
function testCheckLength_overflowContent() {
|
||||
var tooLongContent = 'This is too long text content';
|
||||
var truncatedContent = 'This is too long text con';
|
||||
|
||||
// Set content longer than the maxLength and test the characters remaining
|
||||
// in DOM with overflowing content
|
||||
setupCheckLength(tooLongContent, remaining);
|
||||
|
||||
assertEquals(truncatedContent, inputElement.value);
|
||||
assertEquals('0', goog.dom.getTextContent(countElement));
|
||||
|
||||
// Set content longer than the maxLength and test the characters
|
||||
// incremented in DOM with overflowing content
|
||||
setupCheckLength(tooLongContent, incremental);
|
||||
|
||||
assertEquals(truncatedContent, inputElement.value);
|
||||
assertEquals(maxLength.toString(), goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
function testCheckLength_newLineContent() {
|
||||
var newLineContent = 'New\nline';
|
||||
var newLineContentLength = newLineContent.length;
|
||||
var remainingNewLineContentLength = maxLength - newLineContentLength;
|
||||
|
||||
var carriageReturnContent = 'New\r\nline';
|
||||
var carriageReturnContentLength = carriageReturnContent.length;
|
||||
var remainingCarriageReturnContentLength =
|
||||
maxLength - carriageReturnContentLength;
|
||||
|
||||
// Set some content with new line characters and test the characters
|
||||
// remaining in DOM
|
||||
setupCheckLength(newLineContent, remaining);
|
||||
|
||||
// Test for IE 7,8 which appends \r to \n
|
||||
if (goog.userAgent.IE && !goog.userAgent.isVersionOrHigher('9.0')) {
|
||||
assertEquals(carriageReturnContent, inputElement.value);
|
||||
assertEquals(remainingCarriageReturnContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
} else {
|
||||
assertEquals(newLineContent, inputElement.value);
|
||||
assertEquals(remainingNewLineContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
// Set some content with new line characters and test the characters
|
||||
// incremental in DOM
|
||||
setupCheckLength(newLineContent, incremental);
|
||||
|
||||
// Test for IE 7,8 which appends \r to \n
|
||||
if (goog.userAgent.IE && !goog.userAgent.isVersionOrHigher('9.0')) {
|
||||
assertEquals(carriageReturnContent, inputElement.value);
|
||||
assertEquals(carriageReturnContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
} else {
|
||||
assertEquals(newLineContent, inputElement.value);
|
||||
assertEquals(newLineContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
}
|
||||
}
|
||||
|
||||
function testCheckLength_carriageReturnContent() {
|
||||
var newLineContent = 'New\nline';
|
||||
var newLineContentLength = newLineContent.length;
|
||||
var remainingNewLineContentLength = maxLength - newLineContentLength;
|
||||
|
||||
var carriageReturnContent = 'New\r\nline';
|
||||
var carriageReturnContentLength = carriageReturnContent.length;
|
||||
var remainingCarriageReturnContentLength =
|
||||
maxLength - carriageReturnContentLength;
|
||||
|
||||
// Set some content with carriage return characters and test the
|
||||
// characters remaining in DOM
|
||||
setupCheckLength(carriageReturnContent, remaining);
|
||||
|
||||
// Test for IE 7,8
|
||||
if (goog.userAgent.IE && !goog.userAgent.isVersionOrHigher('9.0')) {
|
||||
assertEquals(carriageReturnContent, inputElement.value);
|
||||
assertEquals(remainingCarriageReturnContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
} else {
|
||||
// Others replace \r\n with \n
|
||||
assertEquals(newLineContent, inputElement.value);
|
||||
assertEquals(remainingNewLineContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
}
|
||||
|
||||
// Set some content with carriage return characters and test the
|
||||
// characters incremental in DOM
|
||||
setupCheckLength(carriageReturnContent, incremental);
|
||||
|
||||
// Test for IE 7,8
|
||||
if (goog.userAgent.IE && !goog.userAgent.isVersionOrHigher('9.0')) {
|
||||
assertEquals(carriageReturnContent, inputElement.value);
|
||||
assertEquals(carriageReturnContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
} else {
|
||||
// Others replace \r\n with \n
|
||||
assertEquals(newLineContent, inputElement.value);
|
||||
assertEquals(newLineContentLength.toString(),
|
||||
goog.dom.getTextContent(countElement));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user