The story of 2014 F1 winter testing
Your one-stop shop for how the 12 days of pre-season unfolded
Thursday 6 March 2014 20:07, UK
From Jerez in late January to the end of the second Bahrain test over a month later, Sky Sports were there to cover the most dramatic testing season in years every step of the way...
Test Two - Bahrain
DAY ONEReport: Hulkenberg fastest as Renault runners struggle again.
Video: Day One round-up.
Video: Ask Crofty, Day One.
Gallery: Day One in pics. DAY TWO
Report: Magnussen quickest for McLaren.
Blow-by-blow: Day Two as it happened.
Video: Day Two round-up.
Video: Ask Crofty, Day Two.
Gallery: Day Two in pics. DAY THREE
Report: Hamilton and Mercedes turn the screw.
Blow-by-blow: Day Three as it happened.
Video: Day Three round-up.
Gallery: Day Three in pics. DAY FOUR
Report: Rosberg lowers the bar.
Blow-by-blow: Day Four as it happened.
Video: Day Four round-up.
Video: Ask Crofty, Day Four.
Gallery: Day Four in pics. Analysis: What we learnt in Bahrain.
Analysis: The Bahrain test in numbers.
Test Three - Bahrain
DAY ONE{ const widgetDataEventIds = Array.from(document.querySelectorAll(".ui-vendor-monterosa")).map((widget) => widget.getAttribute('data-event-id')); const partialViewComponent = partialViewComponents.get(e.detail?.eventId); if (!partialViewComponent) { const trackingData = e.detail; const monterosaId = trackingData?.elementId ?? trackingData?.eventId; const sportContext = "formula 1"; const partialViewComponentValue = `${sportContext}|${monterosaId}`; const partialViewComponentData = { category : trackingData?.userActionName ?? '', content: trackingData?.eventLabel ?? '', type: 'impression', value: partialViewComponentValue, } partialViewComponents.set(trackingData?.eventId, partialViewComponentData); } const allComponentsProcessed = widgetDataEventIds.length === partialViewComponents.size && Array.from(partialViewComponents.values()).every((value) => value !== undefined); if (allComponentsProcessed) { window.skyDataLayer?.pushPartialView({ components: widgetDataEventIds.map((dataEventId) => { return partialViewComponents.get(dataEventId); }) }); } });