Adding float-no-zero branch hosted build

This commit is contained in:
ahocevar
2014-03-07 10:55:12 +01:00
parent 84cad42f6d
commit bd9092199b
1664 changed files with 731463 additions and 0 deletions
@@ -0,0 +1,82 @@
// Copyright 2013 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.
/**
* @fileoverview Utilities to abstract mouse and touch events.
*/
goog.provide('goog.labs.events.touch');
goog.provide('goog.labs.events.touch.TouchData');
goog.require('goog.array');
goog.require('goog.asserts');
goog.require('goog.events.EventType');
goog.require('goog.string');
/**
* Description the geometry and target of an event.
*
* @typedef {{
* clientX: number,
* clientY: number,
* screenX: number,
* screenY: number,
* target: EventTarget
* }}
*/
goog.labs.events.touch.TouchData;
/**
* Takes a mouse or touch event and returns the relevent geometry and target
* data.
* @param {!Event} e A mouse or touch event.
* @return {!goog.labs.events.touch.TouchData}
*/
goog.labs.events.touch.getTouchData = function(e) {
var source = e;
goog.asserts.assert(
goog.string.startsWith(e.type, 'touch') ||
goog.string.startsWith(e.type, 'mouse'),
'Event must be mouse or touch event.');
if (goog.string.startsWith(e.type, 'touch')) {
goog.asserts.assert(
goog.array.contains([
goog.events.EventType.TOUCHCANCEL,
goog.events.EventType.TOUCHEND,
goog.events.EventType.TOUCHMOVE,
goog.events.EventType.TOUCHSTART
], e.type),
'Touch event not of valid type.');
// If the event is end or cancel, take the first changed touch,
// otherwise the first target touch.
source = (e.type == goog.events.EventType.TOUCHEND ||
e.type == goog.events.EventType.TOUCHCANCEL) ?
e.changedTouches[0] : e.targetTouches[0];
}
return {
clientX: source['clientX'],
clientY: source['clientY'],
screenX: source['screenX'],
screenY: source['screenY'],
target: source['target']
};
};
@@ -0,0 +1,96 @@
// Copyright 2013 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.
/**
* @fileoverview Unit tests for goog.labs.events.touch.
*/
goog.provide('goog.labs.events.touchTest');
goog.require('goog.labs.events.touch');
goog.require('goog.testing.jsunit');
goog.setTestOnly('goog.labs.events.touchTest');
function testMouseEvent() {
var fakeTarget = {};
var fakeMouseMove = {
'clientX': 1,
'clientY': 2,
'screenX': 3,
'screenY': 4,
'target': fakeTarget,
'type': 'mousemove'
};
var data = goog.labs.events.touch.getTouchData(fakeMouseMove);
assertEquals(1, data.clientX);
assertEquals(2, data.clientY);
assertEquals(3, data.screenX);
assertEquals(4, data.screenY);
assertEquals(fakeTarget, data.target);
}
function testTouchEvent() {
var fakeTarget = {};
var fakeTouch = {
'clientX': 1,
'clientY': 2,
'screenX': 3,
'screenY': 4,
'target': fakeTarget
};
var fakeTouchStart = {
'targetTouches': [fakeTouch],
'target': fakeTarget,
'type': 'touchstart'
};
var data = goog.labs.events.touch.getTouchData(fakeTouchStart);
assertEquals(1, data.clientX);
assertEquals(2, data.clientY);
assertEquals(3, data.screenX);
assertEquals(4, data.screenY);
assertEquals(fakeTarget, data.target);
}
function testTouchChangeEvent() {
var fakeTarget = {};
var fakeTouch = {
'clientX': 1,
'clientY': 2,
'screenX': 3,
'screenY': 4,
'target': fakeTarget
};
var fakeTouchStart = {
'changedTouches': [fakeTouch],
'target': fakeTarget,
'type': 'touchend'
};
var data = goog.labs.events.touch.getTouchData(fakeTouchStart);
assertEquals(1, data.clientX);
assertEquals(2, data.clientY);
assertEquals(3, data.screenX);
assertEquals(4, data.screenY);
assertEquals(fakeTarget, data.target);
}