###############################################################################
# Copyright (c) 2005, 2006 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
# not to be translated

unittest_category_label=org.eclipse.wst.common.snippets.tests-category

unittest_item0_label=test item 0
unittest_item0_content=sample content 0

unittest_item1_label=test item 1
unittest_item1_content=test content ${variableA} and more ${variableB}
unittest_item1_varA=variable A
unittest_item1_varB=variable B

Bundle-Name.0 = Snippets Tests
Bundle-Vendor.0 = Eclipse Web Tools Platform