aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest/quicktestevent.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qmltest: add a 'modifiers' argument to mouseMove()Richard Moe Gustavsen2024-03-261-2/+2
| | | | | | | | | | | | | | | | | As it stood, TestCase::mouseMove() didn't take a 'modifier' argument. All the other mouse functions do that, including mouseDrag(). But even for mouseDrag, the modifier argument was only applied to mousePress() and mouseRelease(), but not to the in-between mouse moves. This patch will implement support for providing a modifier argument also to mouseMove(). This is needed in order to test API that distinguishes a normal drag from a ctrl+drag, like e.g SelectionRectangle. Pick-to: 6.7 6.6 6.5 Change-Id: Idd800eda4b5b4fd4e9cda94155ca4ec36e935d13 Reviewed-by: Santhosh Kumar <[email protected]>
* Port from container::count() and length() to size()Marc Mutz2022-10-071-3/+3
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-06-111-38/+2
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <[email protected]>
* QuickTest: includemocsMarc Mutz2022-04-291-0/+2
| | | | | | | | | | | Including moc files directly into their classes' TU tends to improve codegen and enables extended compiler warnings, e.g. about unused private functions or fields. Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-102948 Change-Id: Ic8d138526724734169ff7f0686ad19d30c729307 Reviewed-by: Mårten Nordheim <[email protected]>
* Use qWarning() in preference to QTest::qWarn()Edward Welbourne2021-09-231-5/+6
| | | | | | | | | QtTest's custome message handler routes it to the same place and QTest::qWarn() is on its way to deprecation. Change-Id: Ic27c9beda5976a1f6d07029bdca74c7e0c4454a0 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* Replace uses of deprecated QWARN macro with qWarningTor Arne Vestbø2021-08-041-1/+1
| | | | | | Pick-to: 6.2 Change-Id: I15de3c79d6a358f3b57cb5750d684f045bc97c3f Reviewed-by: Mårten Nordheim <[email protected]>
* QtTest: use delay properly in mouseWheel()Shawn Rutledge2021-07-061-1/+4
| | | | | | | | | As in mouseEvent(), it's not the qWait() that usually matters as much as the timestamp difference that the delivery code will see. Task-number: QTBUG-56075 Change-Id: Ifc3b0830b6973997916465f3a9313d607428ede1 Reviewed-by: Shawn Rutledge <[email protected]>
* Merge the QtTest and Qt.test.qtestroot QML modulesUlf Hermann2021-01-121-0/+481
| | | | | | | | | | There is no point in having them separate and this way the plugin can be optional. Fixes: QTBUG-89804 Change-Id: Ic7de35f6ee7abde4840841e17d21c2b709f6db7d Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Andrei Golubev <[email protected]>
* Generate registrations for all importsUlf Hermann2020-01-101-471/+0
| | | | | | | | | | | | | | | | Now that we can generate all QML type information at build time, we should also use it. Move the types for QtTest into the testlib import plugin. They don't need to be exported from QtQuickTest. Trigger the resource initialization of the shapes library from the plugin so that we retain a dependency and the linker doesn't optimize the module initialization away. Change-Id: Icc8cb338aa03ef1e3085e29356a5db7b73ba0a01 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Avoid initializing QFlags with 0 or nullptr in further casesFriedemann Kleint2019-11-251-1/+1
| | | | | | | Amends 744e77b841878fb017c0f2d60607090008f28180. Change-Id: I16e37aaf503eb62f67fca0e48be4c92c4a72ae46 Reviewed-by: Ulf Hermann <[email protected]>
* Handle -no-feature-shortcutFriedemann Kleint2019-10-181-0/+2
| | | | | | | | | | | | | Preparing for the extraction of QGuiShortcut, the shortcut feature will changed to follow the convention of using QT_REQUIRE_CONFIG(shortcut) in the affected class headers. Add the required exclusions to prevent compile errors when disabling shortcuts. Task-number: QTBUG-76493 Change-Id: Icad95584ae12aa97a56b56ef27206cef1b1ba48f Reviewed-by: Joerg Bornemann <[email protected]>
* Remove usages of deprecated APIs of QWheelEventSona Kurazyan2019-08-231-1/+2
| | | | | | Task-number: QTBUG-76491 Change-Id: I69b0c4ec7c03f9421b18828516e064eff2b45518 Reviewed-by: Shawn Rutledge <[email protected]>
* qtlite: Fix build the source code with -no-feature-shortcutMikhail Svetkin2019-02-271-0/+4
| | | | | | Change-Id: I7b1b3fc60eb40e799c6622ea1d4ad14baa0fe269 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Gatis Paeglis <[email protected]>
* QuickTestEvent: keep pressed mouse buttons constant during move eventsShawn Rutledge2018-07-311-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After qtbase b3e91b66b9175c1c3ff5f73f3ac231f74f9bf932 and predecessors, as stated, "Qt platform plugins are now responsible for sending explicit mouse button type and state information; qtestlib should take full responsibility now as well." In QML tests we have not yet had this memory of which buttons are pressed, until now. Change caa45b4fe8b63f4be87b63b33595f65a0f44230e made Flickable sensitive to buttons: it refuses to flick in response to mouse events in which no button is being held. This broke tests in qtquickcontrols2 which assume that in a QML test sequence like mousePress(tumbler, tumbler.width / 2, tumbler.height / 2, Qt.LeftButton) mouseMove(tumbler, tumbler.width / 2, y, 1) mouseRelease(tumbler, tumbler.width / 2, tumbler.height / 4, Qt.LeftButton) the mouse moves will include the pressed left button because it was pressed and not released. So we have to fulfill the assumption to avoid needing to change those tests. When the function bool mouseMove(QObject *item, qreal x, qreal y, int delay, int buttons); is called from QML, if that last parameter is omitted, it defaults to zero, so we can't tell whether the test is explicitly passing Qt.NoButton or just omitted it. Task-number: QTBUG-69704 Change-Id: Ife0f7d0e9cb0d39788e8d9961d8872c9e913431e Reviewed-by: Mitch Curtis <[email protected]> Reviewed-by: Gatis Paeglis <[email protected]>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-2/+2
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <[email protected]>
* testlib: add key sequence functionLiang Qi2017-11-031-0/+17
| | | | | | | | | | [ChangeLog][QtQuick][QtTest] Added keySequence() function in TestCase. Task-number: QTBUG-53381 Change-Id: Iea25410d40fc0745e16a10c1af35ec81c4c83668 Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
* Revert "Make QtQuickTest::mouseEvent use QTest::mouseX"Jani Heikkinen2017-09-041-17/+23
| | | | | | | | | | | | | It seems this is causing QTBUG-62925 and QTBUG-62926 so revert is the best option at this point to proceed This reverts commit 4c46dce8fd9c9dddddd1d07f56396b3eabb2efc4. Change-Id: Ia8ea85c1ac1ada1752b29c9fbd8439f5963d46d2 Reviewed-by: J-P Nurmi <[email protected]> Reviewed-by: Albert Astals Cid <[email protected]> Reviewed-by: Frederik Gladhorn <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]>
* QtQuickTest::mouseEvent: when clicking a Window, use the given coordsShawn Rutledge2017-09-011-1/+1
| | | | | | | | | If the given item is a Window, pos was left default-initialized, and then a later check for isNull converted it to the center of the window. Use the given coordinates instead in this case. Change-Id: I659af9b665890084c29415394a84874e381ffcbe Reviewed-by: J-P Nurmi <[email protected]>
* Make QtQuickTest::mouseEvent use QTest::mouseXAlbert Astals Cid2017-08-301-23/+17
| | | | | | | | | | | | Fixes QQuickItem::isUnderMouse returning wrong information when moving the mouse cursor with QtQuickTest::mouseX Also changes TestCase.mouseDrag to actually resemble more what real life does, i.e. send mouse moves with the same localPos if the item has already moved and update tst_drag.qml accordingly Change-Id: I80e4ab097da90d21ba987466c1b82467755a6b56 Reviewed-by: Shawn Rutledge <[email protected]>
* QtQuickTest::mouseEvent(): pass QPointF by referencev5.9.0-alpha1J-P Nurmi2017-02-211-1/+1
| | | | | | | | | | | | | | | MSVC 2015 64-bit has some unexplainable issues with a static inline function calling itself recursively, like mouseEvent(MouseClick) does. The QPointF argument, which was previously passed by value, somehow lost its y-coordinate and caused consistent test failures in QQC1 tst_extras/tst_piemenu. I can't explain why this change fixes the issue, but it's a harmless improvement that unblocks the CI. Change-Id: I90dd36a676a21c8124f233e1fa8b3864946a326d Reviewed-by: Simon Hausmann <[email protected]> Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Robin Burchell <[email protected]> Reviewed-by: Liang Qi <[email protected]>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-141-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp src/qml/qml/qqmlimport.cpp src/quick/items/context2d/qquickcontext2dtexture_p.h tools/qmleasing/splineeditor.h Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
| * Get rid of most QT_NO_FOO usagesLars Knoll2016-11-291-2/+2
| | | | | | | | | | | | | | | | Instead use QT_CONFIG(foo). This change actually detected a few mis-spelled macros and invalid usages. Change-Id: I06ac327098dd1a458e6bc379d637b8e2dac52f85 Reviewed-by: Simon Hausmann <[email protected]>
* | Add touch event support to qmltestJeremy Katz2016-12-061-0/+93
| | | | | | | | | | | | | | | | | | [ChangeLog][QuickTest] Add support for simulating touch events from TestCase. Task-number: QTBUG-23083 Change-Id: Ic045e00a91b8270b6f08d398323e06b576615e79 Reviewed-by: Shawn Rutledge <[email protected]>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-231-0/+1
|\| | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4object_p.h Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-151-0/+1
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qmldevtools/qmldevtools.pro tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp Change-Id: I12255c16716bd8a74e7047cdb1f9302a4d1ea827
| | * Fix QtQuickTest::mouseMove not having timestampsFrederik Gladhorn2016-11-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af002b8df9b084fd7f26e9eead9844aab36bdc4d added timestamps to press and release events. It did not add the timestamp to move events though. When using the quick test functionality to send events to flickable, this leads to great confusion since the move events will be from a completely different time than the release, in which case flickable responds with "you waited a long time before releasing, I think you didn't want to flick". Adding the timestamp also to move events is consistent and makes tests in qtlocation happy. Change-Id: I33653c435eff5b62eeaf5a03653d917b7acc4fed Reviewed-by: Peter Varga <[email protected]> Reviewed-by: Paolo Angelelli <[email protected]>
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-121-1/+9
| |\| | | | | | | | | | Change-Id: Ib31008e593442ca5813fb14ae6b02f7ab2577395
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-181-1/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4variantobject.cpp src/qml/types/qquickworkerscript.cpp src/quick/scenegraph/util/qsgdefaultpainternode_p.h tools/qmljs/qmljs.cpp Change-Id: I876242714ec8c046238d8fd673a5ace2455b2b59
| * \ \ Merge remote-tracking branch 'origin/5.6' into 5.8Simon Hausmann2016-10-131-1/+9
| |\ \ \ | | |/ / | |/| / | | |/ Change-Id: I175b27337b534c0b8f46a4a792d2c43cde73ffc4
| | * testlib: Add timestamp to mouse click eventsPeter Varga2016-10-111-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Timestamp is necessary for testing custom mouse event handlers e.g. what Qt WebEngine uses for handling triple and quadruple mouse clicks. Based on Qt Base commit 181ee8f9ffacc51265ccc3a0005bf146f230cf85 Task-number: QTBUG-56223 Change-Id: I84d0ca40767d0b1dccb33da1fb1f6ff5721d1096 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Frederik Gladhorn <[email protected]>
* | | allow quick test events to directly target a WindowJeremy Katz2016-08-221-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | QuickTestEvent::eventWindow() is used to determine the window a QObject-based item cast to a QQuickItem is associated with. The window is then used to dispatch simulated events and calculate item positions. This change allows a quick Window or other QWindow-based object to be used directly. Change-Id: I85866ca4c79d5b6a48bac554608cad348aeb6e98 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-191-4/+9
|\| | | | | | | Change-Id: I7bd70996e3372d154c6b0e47336baa22146667b0
| * TestCase::mouseDrag: set mouse move delay >= 1 msShawn Rutledge2016-08-191-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Infinite-speed drags do not work well with velocity-sensitive components like Flickable. As with change d04982dc on qtbase, adding a short delay helps to stabilize tests. To keep it flexible, we make QTest::defaultMouseDelay() available via the qtest_events.defaultMouseDelay property. So the delay can be increased by passing a larger delay value to mouseDrag, or by changing the QTEST_MOUSEEVENT_DELAY environment variable (as before). Task-number: QTBUG-55382 Change-Id: I8f8088758a206be104a439ee0d1832eeca574e8c Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Jan Arve Sæther <[email protected]>
* | Updated license headersJani Heikkinen2016-01-191-14/+20
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <[email protected]>
* Change TestEvent key default event routing behaviorFilippo Cucchetto2015-08-161-6/+13
| | | | | | | | | | | | | | | The current behavior of the TestEvent is to send all the key events to the test window. For this reason is not possible routing events to custom windows created inside the test suite. The new behavior is to send the key events to the current focused window [Change][QuickTest][TestCase] Changed default routing behavior for key events in TestCase. The key events are sent to the window with active focus Change-Id: I6ff3113eb9f1cbc25f6cfd2dd7bfdff178ee6ac3 Reviewed-by: Filippo Cucchetto <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
* Send the mouse events to the correct windowAlbert Astals Cid2015-08-031-11/+15
| | | | | | | | | | That is the window with the item, not the window that contains the TestUtil Item Change-Id: I13f5bfd0556e594843d499d014e92bcc41850f45 Reviewed-by: Laszlo Agocs <[email protected]> Reviewed-by: Robin Burchell <[email protected]> Reviewed-by: Jason McDonald <[email protected]> Reviewed-by: Gunnar Sletta <[email protected]>
* testlib: Introduce MouseDoubleClickSequence() methodCaroline Chao2015-03-021-2/+25
| | | | | | | | | | | | | | | | | | | | | | The existing method MouseDoubleClick() emulates the mouse double click event only. The added method MouseDoubleClickSequence() emulates the full sequence of mouse events a physical double-click would generate: Press-Release-Press-DoubleClick-Release Introducing a new method in order to provide convenience when a test requires to simulate a complete double-click action without changing the behavior of MouseDoubleClick() and risking to break existing tests. Add autotest. Task-number: QTBUG-42185 Change-Id: I1cdddd9e21d3b1d8a818f6d4e3717b06b7d70e08 Reviewed-by: Simon Hausmann <[email protected]> Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Laszlo Agocs <[email protected]>
* Update copyright headersJani Heikkinen2015-02-121-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <[email protected]>
* Update license headers and add new licensesJani Heikkinen2014-08-251-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <[email protected]>
* Make keyClick/Press/Release work with a charAlbert Astals Cid2013-04-051-0/+30
| | | | | | Change-Id: Id821bddd993d4da4458464713a69edfea4aaecaa Reviewed-by: Oswald Buddenhagen <[email protected]> Reviewed-by: Alan Alpert <[email protected]>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <[email protected]> Reviewed-by: Sergio Ahumada <[email protected]>
* Compile with QT_NO_WHEELEVENT.Volker Krause2012-12-191-0/+4
| | | | | | | | Change-Id: I2fbe6f45ba50e3db75bd02cfca47ddabfcd5fc49 Reviewed-by: Tasuku Suzuki <[email protected]> Reviewed-by: Thomas McGuire <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <[email protected]>
* QQuickCanvas renamesAlan Alpert2012-07-171-2/+2
| | | | | | | | | | | | | | | | QQuickCanvas is now called QQuickWindow QQuickCanvas::rootItem is now QQuickWindow::contentItem QQuickItem::canvas is now QQuickItem::window QQuickItem::ItemChangeData::canvas is also renamed window QQuickCanvas::grabFrameBuffer is now QQuickWindow::grabWindow The functions related to the color property have dropped the clear from their names. The first three changes have interim compatibility measures in place to ease the transition. Change-Id: Id34e29546a22a74a7ae2ad90ee3a8def6fc541d2 Reviewed-by: Martin Jones <[email protected]>
* Improve mouseWheel() functionCharles Yin2012-07-041-4/+4
| | | | | | | Use new angleDela() API and update the documentation. Change-Id: Ie01c979d8c411e81165caedc7e020e39f9d64371 Reviewed-by: Michael Brasser <[email protected]>
* Change uses of {to,from}Ascii to {to,from}Latin1Thiago Macieira2012-05-041-1/+1
| | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: I03084595ddc425a988374b8352fd23e9504ffba6 Reviewed-by: Alan Alpert <[email protected]>
* Remove the rest of qtquick 1.0 code from qmltestCharles Yin2012-03-131-32/+3
| | | | | | Change-Id: I0d20583faf1a75f287dcd866b11457254d250354 Reviewed-by: Matthew Vogt <[email protected]> Reviewed-by: Michael Brasser <[email protected]>
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-2/+2
| | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <[email protected]>
* Remove QtQuick1 elements from qtdeclarativeMatthew Vogt2012-02-031-22/+7
| | | | | | | | QtQuick1 is now contained in a separate repository. Task-number: QTBUG-23737 Change-Id: I09eae67af5693a22b896b916f816f73ccc3a89b1 Reviewed-by: Martin Jones <[email protected]>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by: Rohan McGovern <[email protected]>